自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Leetcode反转链表

一、剑指 Offer 24. 反转链表 /leetcode 206题目链接:剑指 Offer 24. 反转链表 - 力扣(LeetCode) (leetcode-cn.com)题目描述:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。方法一:迭代在遍历链表时,将当前节点的next指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需存储后一个节点。最后返回新的头引用。class Solution{ public Li

2021-08-08 19:04:11 160

原创 从上到下打印二叉树

一、剑指 Offer 32 - I. 从上到下打印二叉树 I题目链接:剑指 Offer 32 - I. 从上到下打印二叉树 - 力扣(LeetCode) (leetcode-cn.com)题目要求从上至下打印二叉树,即为二叉树的广度优先搜索BFS。BFS通常借助队列的先入先出特性来实现。算法流程:特例处理:当树的根节点为空,则直接返回空列表 [] ;初始化:打印结果列表 res = [] ,包含根节点的队列 queue = [root] ;BFS循环:当队列queue为空时跳出;出队:队

2021-08-08 15:43:52 168

原创 TopK问题的解析及代码

问题描述:从arr[1,n]中,找出最大的K个数方法一:堆排序堆排序参考:思路:只找到topk,不排序topk。先用前k个元素生成一个小顶堆(即父节点比子节点小的完全二叉树),这个小顶堆用于存储当前最大的k个元素。接着,从第k+1个元素开始扫描,和堆顶(堆中最小元素)进行比较,如果被扫描的元素大于堆顶则替换堆顶的元素,并调整堆,以保证堆内的k个元素总是当前最大的k个元素。扫描完所有n-k个元素,最终堆中的k个元素就是topk采用优先队列:下面的代码的目的是利用优先队列得到第k大元素

2021-08-06 16:23:26 380

原创 十大排序算法总结 # 待完善

先提前约定交换函数:protected void swap(int[] nums, int i, int j){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp;}一、选择排序思路:从数组中选择最小元素,将它与数组的第一个元素交换位置。再从数组剩下的元素中选择出最小的元素,将它与数组的第二个元素交换位置。不断进行这样的操作,直到将整个数组排序。复杂度:n个元素,第一次排序需要比较n-1次,第二次排序需要比

2021-08-06 11:09:08 243 1

原创 pip命令报错sys.stderr.write(f“ERROR: {exc}“)

问题:centos上用yum install python-pip命令下载了pip,但使用pip命令时报错问题原因:Python 2.7已于2020年1月1日到期,请停止使用。请升级您的Python,因为不再维护Python 2.7。pip 21.0将于2021年1月停止对Python 2.7的支持。pip 21.0将删除对此功能的支持。解决此问题并继续使用不受支持的Python 2.7,不应升级到最新的pip版本,而应升级到<21的版本。解决方法:curl https://bootst

2021-03-25 14:56:26 215

原创 两台虚拟机实现tcp连接(使用telnet)

两台虚拟机实现tcp连接(使用telnet)今天做实验,为了实现两台winxp虚拟机之间建立tcp连接,使用了系统的telnet服务。首先,两台虚拟机都需开启telnet服务。在控制面板 —管理工具 —服务 —telnet将telnet的启动类型设置为自动,然后启动telnet服务启动后,可以用一方登录。在一台虚拟机命令行中输入:telnet ip地址然后需要输入账号密码,注意这个账号密码是服务端的用户,可以在服务端创建一个用户,步骤如下:控制面板—用户账户—创建用户—输入用户名—创建

2020-11-05 21:24:40 2288

原创 关于虚拟机和主机互相ping不通的问题

关于虚拟机和主机互相ping不通的问题今天要用两台winxp虚拟机做实验,想测试主机和虚拟机之间是否能ping通,两台虚拟机之间是否能ping通,发现相互之间都ping不通。于是检查虚拟网络适配器的状态。首先检查本机的网络情况,发现虚拟网络适配器启动正常,这里的以太网3即为vmnet8然后检查虚拟机的网络编辑器设置情况发现也正常。用ipconfig查询IP地址,发现三台主机确实是在同一个局域网段,但就是相互ping不通。后来在网上找了好久的答案,发现是两台虚拟机开启了ipsec服务。于是关

2020-11-05 20:46:36 515

原创 Linux安装mysql后第一次登录的账号密码

Linux安装mysql后第一次登录的账号密码Linux安装MySQL登录MySQLLinux安装MySQL​ MySQL数据库服务端软件的安装:sudo apt-get install mysql-sever​ MySQL数据库客户端软件的安装:sudo apt-get install mysql-client登录MySQL输入以下命令:mysql -u root -p然后输入密码,报错于是必须获取正确的用户名和密码,使用以下命令cd /etccd /etc/mysqls

2020-10-18 15:43:21 2008 2

原创 【PAT】【C++】1062.最简分数

题目:一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。输出格式:在一行中按...

2019-09-17 23:53:29 746

原创 【PAT】【C++】10058. 选择题

题目:批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项从小写英...

2019-09-15 19:48:56 137

原创 【PAT】【C++】10055. 集体照

题目:拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下:每排人数为 N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队...

2019-09-13 14:39:54 175

原创 【PAT】【C++】10050.螺旋矩阵

题目 :本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 104,相邻数字以空格分隔。输出格式:输...

2019-09-12 15:35:36 287

原创 【汇编】OllyDbg使用方法

1. 主窗口界面反汇编面板:被调试程序在反汇编后显示在该面板窗口中,显示的信息分为四列,从左到右依次为:地址、数据、反汇编代码和注释主要关注的是反汇编代码列,该列将指令以汇编代码的形式显示,从而让用户在汇编层次上对程序进行调试寄存器面板窗口:该窗口将程序运行时用到的寄存器的值都列了出来,其中寄存器的值发生变化时颜色会变为红色堆栈面板窗口:该窗口显示的是程序执行时的堆栈信息...

2019-09-10 21:47:10 1325

原创 【PAT】【C++】1045.快速排序

10045. 快速排序题目:著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元;尽...

2019-09-09 22:05:49 224

原创 【PAT】【C++】1043. 输出PATest

题目:请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样...

2019-09-09 14:53:52 185

原创 【PAT】【C++】10039. 到底买不买

39. 到底买不买题目:小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为...

2019-09-08 15:53:45 128

原创 【C++】【STL】map/multimap容器---元素成对存储

map/multimap容器1. map基本概念简介:map种所有元素都是pairpair中第一个元素为key,第二个元素为value所有元素都会根据key自动排序本质:map/multimap属于关联式容器,底层结构二叉树实现优点:可以根据key快速找到value区别:map不存在重复key值multimap可以存在2. map构造和赋值函数原型:构...

2019-09-08 15:21:57 495

原创 【PAT】【C++】10037. 在霍格沃兹找零钱

题目:魔法世界的货币系统:17个sickle = 1个galleon,29个Knut=1个sickle。 现在给定应付的价钱P和实付的价钱A,写一个程序来计算应该被找的零钱输入格式:输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle.Knut,其间用 1 个空格分隔。这里 Galleon 是 [0, 107] 区间内的整数,Sickle 是 [0, 17) 区间内的整数...

2019-09-08 14:25:09 258

原创 【PAT】【C++】10034.有理数四则运算

10034. 有理数四则运算折磨了我一下午的题,在计算两个数的最大公因数还有溢出问题上想了好久,最后还是用了柳神的方法。记录下来,有空温故一下。题目:本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行...

2019-09-07 19:37:09 359

原创 【PAT】【C++】10025. 反转链表

**题目:**给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N (≤105)、...

2019-09-06 12:10:35 129

原创 [PAT][贪心算法] 10020.月饼

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 1...

2019-09-05 15:55:19 214

原创 【Python】socket实现服务器和客户端传输文件(可多用户同时登陆)

单用户的文件上传和下载1. 服务器端:# 完整服务器端(面对单用户)from socket import*import jsonimport osimport struct# 服务器端文件夹位置FILEPATH = "E:/Python学习/socket网络编程/服务器文件/"# 创建sever服务器sever = socket(AF_INET, SOCK_STREAM)...

2019-09-05 14:06:39 3951 1

原创 【PAT】【C++】10018. 锤子剪刀布

10018. 锤子剪刀布题目: 根据石头剪刀布的规则,现给出两人的交锋记录,统计双方的胜、平、负次数。并给出双方分别出什么手势的胜算更大输入格式: 输入第一行给出N交战次数,之后N行给出每次交战信息。C–锤子 J–剪刀 B–布,第一个字母代表甲方,第二个乙方,空格分隔输出格式: 输出第1、2行分别给出甲乙的胜、平、负次数。第三行给出两个字母,分别是甲乙获胜次数最多的手势,如果解不唯一,则输...

2019-09-05 13:57:59 162

转载 汇编指令集合

一、数据传输指令它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA 把DI,SI,BP,SP,BX,...

2018-10-08 11:40:06 288

原创 软件安全概述

一、软件安全1、软件安全关注的是计算机程序或程序中信息的完整性、机密性和可用性2、软件的安全缺陷:1)软件自身的缺陷,设计者故意或过失2)软件漏洞是基本的形态,而恶意代码是延伸的形体3)软件中的客观存在3、风险与安全事件风险:软件内在的漏洞暴露在外在的威胁时称为风险安全事件:软件内在的缺陷遭遇到威胁时为安全事件4、软件安全范围软件生命周期:软件设计阶段、软件编码测试阶段、软件运...

2018-09-26 21:10:20 8543

原创 【Python】【爬虫】爬取网易、腾讯、新浪、搜狐新闻到本地

这个实验主要爬取新闻网站首页的新闻内容保存到本地,爬取内容有标题、时间、来源、评论数和正文。 工具:python 3.6 谷歌浏览器 爬取过程: 一、安装库:urllib、requests、BeautifulSoup 1、urllib库:Urllib是python内置的HTTP请求库。用这个库可以用python请求网页获取信息。 主要用到的函数: da...

2018-09-16 19:23:08 7919 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除