自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 问答 (2)
  • 收藏
  • 关注

原创 TCP TIME_WAIT机制闲聊

1、什么是TIME_WAIT在TCP连接中,主动关闭一方在收到FIN/ACK包之后,进入TIME_WAIT状态。 该状态会持续 2MSL(Maximum Segment Lifetime) 时长,之后进入CLOSED 状态。MSL 指的是 TCP 协议中任何报文在网络上最大的生存时间,任何超过这个时间的数据都将被丢弃。在实际实现时,MSL约为30秒 ~ 2分钟,2MSL约为1分钟 ~ 4分钟。TCP状态迁移图:2、为什么要有TIME_WAIT状态(1)避免新连接收到老数据TCP存在超时重传机制

2022-02-13 21:33:39 1360

原创 增加Cache命中率加快程序运行速度

场景一:改变程序运行顺序以提高Cache命中率给定代码逻辑:当条件A成立,则执行B;否则执行C。if (cond A) { // do sth. B} else { // do sth. C}CPU分支预测器机制:对于if条件语句,如果CPU可以预测到接下来执行的是if还是else里的指令,就可以提前将指令加载到缓存中,这样CPU就可以直接从Cache读取到指令,以加快执行速度。下面代码给出两个操作逻辑:数组遍历和排序。uint32_t a[100] = {0U};// d

2021-07-25 21:19:28 1627 1

原创 std::vector.resize()函数修改vector大小和新增元素,不影响已有元素

1. 问题背景 代码中希望实现的一段逻辑,简要描述如下: 函数入参:两个vector a和b 操作内容:当两个向量元素个数不相等,将a的元素个数改为与b相同,且赋值为0。 初步实现如下:void Test(std::vector<uint32_t>& a, std::vector<uint32_t>& b){ if (a.size() != b.size()) { a.resize(b.size(...

2021-02-12 14:49:14 4665

原创 Leetcode 94. 二叉树的中序遍历

给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?首先给出基本的递归实现方法:/** * Definition for a binary tree node. * struct TreeNode { * in...

2019-11-03 21:45:28 124

原创 Leetcode 7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。整数反转本身没有...

2019-11-03 21:27:31 101

原创 Leetcode 5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"题目要求计算最长回文字串,需要分两种情况考虑:长度为奇数和长度为偶数。当字串长度为奇数时,字串的中心落在某一个元素上,当为偶数时,中点落在两个元素中间的位...

2019-11-03 21:16:01 110

原创 Leetcode 4. 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 ...

2019-11-03 21:06:01 87

原创 Leetcode 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...

2019-11-03 20:02:29 107

原创 Leetcode 2. 两数相加

给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2019-10-31 23:36:05 94

原创 LeetCode 1. 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目对复杂度...

2019-10-31 23:23:45 125

原创 牛客网—数据库SQL实战(2)

11. 获取所有员工当前的manager获取所有员工当前的manager,如果当前的manager是自己的话结果不显示,当前表示to_date='9999-01-01'。结果第一列给出当前员工的emp_no,第二列给出其manager对应的manager_no。CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` ch...

2018-09-11 10:20:50 182

原创 牛客网—数据库SQL实战(1)

1. 查找最晚入职员工的所有信息题目描述查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` ch...

2018-09-10 14:12:06 337

原创 华为机试 — 求 int 型正整数在内存中存储时1的个数

题目描述输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。输入描述: 输入一个整数(int类型)输出描述: 这个数转换成2进制后,输出1的个数示例1输入5输出2#include&lt;iostream&gt;using namespace std;int main(){ int n; cin&gt;&gt;...

2018-08-07 19:45:57 166

原创 华为机试 — 字串的连接最长路径查找

题目描述给定n个字符串,请对n个字符串按照字典序排列。输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1输入9captocatcardtwotooupboatboot输出boatbootca...

2018-08-07 19:42:33 303

原创 华为机试 — 句子逆序

题目描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明/** * 反转句子 *  * @param sentence 原句子 * @return 反转后的句子 */public String reverse(String sentence);...

2018-08-07 19:40:45 366

原创 华为机试 — 字符串反转

题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:输入描述:输入N个字符输出描述:输出该字符串反转后的字符串示例1输入abcd输出dcba#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ string ...

2018-08-07 19:39:40 354

原创 华为机试 — 数字颠倒

题目描述描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出示例1输入1516000输出0006151#include&lt;iostream&gt;#include&lt;s...

2018-08-07 19:37:22 277

原创 华为机试 — 字符个数统计

题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。输入描述:输入N个字符,字符在ACSII码范围内。输出描述:输出范围在(0~127)字符的个数。示例1输入abc输出3#include&lt;iostream&gt;#include&lt;string&gt;using nam...

2018-08-06 22:12:07 257

原创 华为机试 — 提取不重复的数

题目描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入9876673输出37689#include&lt;iostream&gt;using namespace std;int main(){ int ...

2018-08-06 21:59:04 629

原创 华为机试 — 合并表记录

题目描述数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。输入描述:先输入键值对的个数然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入40 10 21 23 4输出0 31 23 4#include&lt;iost...

2018-08-06 21:53:46 243

原创 华为机试 — 取近似值

题目描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入5.5输出6#include&lt;iostream&gt;using namespace std;int main(){ double x;...

2018-08-06 21:43:41 235

原创 华为机试 — 质数因子

题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格 详细描述:函数接口说明:public String getResult(long ulDataInput)输入参数:long ulDataInput:输入的正整数返回值:String 输入描述:输入一个lo...

2018-08-06 21:36:35 383

原创 华为机试 — 进制转换

题目描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。示例1输入0xA输出10#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main...

2018-08-06 21:35:20 458

原创 华为机试 — 字符串分隔

题目描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述:连续输入字符串(输入2次,每个字符串长度小于100)输出描述:输出到长度为8的新字符串数组示例1输入abc123456789输出abc000001234567890000000#include...

2018-08-06 21:33:49 271

原创 华为机试 — 明明的随机数

题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。Input Pa...

2018-08-06 21:26:30 176

原创 华为机试 — 计算字符个数

题目描述写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述:输出输入字符串中含有该字符的个数。示例1输入ABCDEF A输出1#include&lt;iostream&gt;#include&lt;string&g...

2018-08-06 21:24:05 339

原创 华为机试 — 字符串最后一个单词的长度

题目描述计算字符串最后一个单词的长度,单词以空格隔开。 输入描述:一行字符串,非空,长度小于5000。输出描述:整数N,最后一个单词的长度。示例1输入hello world输出5#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main() { ...

2018-08-06 21:22:27 142

原创 PAT乙级1075. 链表元素分类(25)

题目:给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而[0, K]区间内的元素都排在大于K的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K为10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含1个测试用例。每个测试用例第1行给

2017-10-01 22:27:14 779

原创 PAT乙级1074. 宇宙无敌加法器(20)

题目:地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个PAT星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是7进制数、第2位是2进制数、第3位是5进制数、第4位是10进制数,等等。每一位的进制d或者是0(表示十进制)、或者是[2,9]区间内的整数。理论上这个进制表

2017-10-01 22:26:16 1467

转载 PAT乙级1073. 多选题常见计分法(20)

原文地址:https://www.joyhwong.com/archives/1315一开始自己没做出来,在网上看到这篇答案,用位运算记录选项,感觉用的很好,我又重新写了一遍。题目:批改多选题是比较麻烦的事情,有很多不同的计分方法。有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到50%分数;如果考生选择了任何一个错误的选项,则不能得分。

2017-10-01 22:23:13 1059

原创 PAT乙级1072. 开学寄语(20)

题目:下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数N(输出格式:顺

2017-10-01 14:37:21 621

原创 PAT乙级1071. 小赌怡情(15)

题目:常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注t个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家t个筹码;否则扣除玩家t个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式:输入在第一行给出2个正整数T和K(

2017-10-01 14:36:25 738

原创 PAT甲级1002. A+B for Polynomials (25)

题目:This time, you are supposed to find A+B where A and B are two polynomials.InputEach input file contains one test case. Each case occupies 2 lines, and each line contains the information

2017-09-10 19:45:38 232

原创 PAT甲级1001. A+B Format (20)

题目:Calculate a + b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).InputEach input fi

2017-09-10 19:27:40 205

原创 PAT乙级1070. 结绳(25)

题目:给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定N段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出正整数N (2 4);第2行

2017-09-10 16:50:08 219

原创 PAT乙级1069. 微博转发抽奖(20)

题目:小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数M(注意:可能有人转发多次,但不能中奖多次。所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位。输出格式:按照输入的顺序输出中奖名单,每个昵称占一行。如果没有人中奖,则

2017-09-10 16:42:39 255

原创 PAT乙级1068. 万绿丛中一点红(20)

题目:对于计算机而言,颜色不过是像素点对应的一个24位的数值。现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是M和N(24)内。所有同行数字间用空格或TAB分开。输出格式:在一行中按照“(x, y): color”的格式输出所求

2017-09-10 15:23:37 295

原创 PAT乙级1067. 试密码(20)

题目:当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过20的、不包含空格、Tab、回车的非空字符串)和一个正整数N(输出格式:对用户的每个输入,如果是正确的密码且尝试次数不超过N,则在一行中输出“Welcome in”,并结束程序;如果

2017-09-10 11:08:00 299

原创 PAT乙级1066. 图像过滤(15)

题目:图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数M和N(0 输出格式:输出按要求过滤后的图像。即输出M行,每行N个像素灰度值,每个灰度值占3位(例如黑色要显示为000),其间以一个空格分隔。

2017-09-10 10:29:19 266

原创 PAT乙级1065. 单身狗(25)

题目:“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数N(输出格式:首先第一行输出落单客人的总人数;随后第二行按ID递增顺序列出落单的客人。ID间用1个空格分隔,行的首尾不得有多余空格。输入样例:311111 2222233333 4444455555 66

2017-09-10 10:03:02 300

空空如也

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

TA关注的人

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