总结篇---校招笔试合集
记录刷过的提醒
程序猿的温柔香
一个懂技术,也懂浪漫的程序猿
展开
-
频率最高的手写代码面试题--链表类型(上)
1、奇偶链表 2、删除链表中的节点 3、移除链表元素 4、相交链表 5、复制链表 6、环形链表 7、重排链表 8、对链表进行插入排序 9、删除排序链表中的重复元素 10、删除排序链表中的重复元素 II原创 2020-03-08 10:31:30 · 280 阅读 · 0 评论 -
频率最高的手写代码面试题--链表类型(下)
1、分隔链表 2、反转链表 II 3、旋转链表 4、删除链表的倒数第N个节点5、合并两个有序列表 6、合并K个排序链表 7、两两交换链表的节点原创 2019-11-22 17:09:04 · 416 阅读 · 0 评论 -
C++ 编程题/简单错误记录,合唱团,马戏团
问答题题1:将网络物理地址转换为IP地址的协议是?A: IPB: ICMPC: ARPD: RARP提示:题目中说的是将物理地址转换为IP地址,而不是将 IP 地址转换为物理地址,ARP 是将 IP 地址解析物理地址,RARP 是反向解析,也就是物理地址转换 IP 地址;ICMP 是属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到...原创 2020-02-09 16:33:22 · 540 阅读 · 0 评论 -
C++ 编程题/单词倒排,骆驼命名法,查找兄弟单词
问答题问答题1:TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为 1000,确认序列号为 2000,请问第二次握手报文的发送序列号和确认序列号分别为?已知第三次握手的发送序列号和确认序列号,那么第二次和第一次都可以知道确认序列号是告诉对方,这个数字之前的数据我都收到了,下次你就按这个确认序列号对我进行发送;发送序列号的想告诉对方,如果你接收到了,那么下次你的确认序列号应该...原创 2020-02-08 22:33:14 · 605 阅读 · 0 评论 -
c++编程题,电话号码,求和
问答题问答题1:A,B 两台机器都正常工作, B 机器未监听任何端口.如果 A 机器向 B 机器 80 端口发送SYN包,会收到何种类型的回包?A: ACK包B: FIN包C: 不会收到回包D: RST包提示:因为 B 机器 80 端口未打开,所以会发送一个 RST 包,另外请求超时 、提前关闭 、在一个已关闭的 socket 上收到数据也会发送RST 包,RST 是TCP 首部的标志...原创 2020-02-08 20:36:44 · 661 阅读 · 0 评论 -
剪花布条,客似云来
题1:下面的程序可以从0…n-1中随机等概率的输出m个不重复的数。这里我们假设n远大于mknuth(int n, int m){ srand((unsigned int)time(0)); for (int i = 0; i < n; i++) { if ( ) { cout << i << end...原创 2020-02-06 20:06:22 · 363 阅读 · 0 评论 -
C++编程题/左右最值最大差/数据库连接池/mkdir/顺时针打印矩阵
数据库连接池Web系统通常会频繁地访问数据库,如果每次访问都创建新连接,性能会很差。为了提高性能,架构师决定复用已经创建的连接。当收到请求,并且连接池中没有剩余可用的连接时,系统会创建一个新连接,当请求处理完成时该连接会被放入连接池中,供后续请求使用。现在提供你处理请求的日志,请你分析一下连接池最多需要创建多少个连接。输入描述:输入包含多组数据,每组数据第一行包含一个正整n(1≤n≤1000...原创 2019-07-29 08:01:14 · 337 阅读 · 0 评论 -
C++编程题、红与黑/蘑菇阵
红与黑有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入描述:输入包含多组数据。每组数据第一行是两个整数 m 和 n(1≤m, n≤20)。紧接着 m 行,每行包括 n 个字符。每个字符表示一块瓷砖的颜色,规则如下:“.”:黑色的瓷砖;“#”:白色的瓷...原创 2019-07-27 22:56:12 · 1015 阅读 · 0 评论 -
C++ 编程题、字符串计数 /最长公共子序列
字符串计数求字符串的个数,而这个字符串所满足的条件是 @字典序在 s1-s2之间的且长度在len1 - len2之间。(s1,s2<100 len1<len2 < 100000)例:输入:ab ce 1 2 输出:56解题思路循环接收收入,保证所有测试用例可以验证到将 s1 和 s2 补齐到 26 位,因为在字典序列中 s1 比 s2 靠前,因此 s1 后序所有位...原创 2019-07-27 18:05:47 · 454 阅读 · 0 评论 -
抄送列表 ,处理邮件,年会抽奖
年会抽奖今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:首先,所有人员都将一张写有自己名字的字条放入抽奖箱中; 待所有字条加入完毕,每人从箱中取一个字条; 如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?输入描述:输入包含多组数据,每组数据包含一个正整数n(2≤n≤20)。输出描述:对应每一组数据,以“xx.xx%”的...原创 2019-07-21 22:32:35 · 912 阅读 · 0 评论 -
邮件名字合并,养兔子,
一些攻击手段DNS劫持DDoS攻击MAC地址欺骗伪造DHCP服务器编程NowCoder每天要给许多客户写电子邮件。正如你所知,如果一封邮件中包含多个收件人,收件人姓名之间会用一个逗号和空格隔开;如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。现在给你一组收件人姓名,请你帮他生成相应的收件人列表。输入描述:输入包含多组数据。每组数据的第一行是一个整数n (1≤n≤128),表示后...原创 2019-07-13 21:22:03 · 466 阅读 · 0 评论 -
分解因数 ,求美国节日,猴子分桃
计算美国节日美国节日 和中国的节日不同,美国的节假日通常是选择某个月的第几个星期几这种形式,因此每一年的放假日期都不相同。具体规则如下:1月1日:元旦1月的第三个星期一:马丁·路德·金纪念日2月的第三个星期一:总统节5月的最后一个星期一:阵亡将士纪念日7月4日:美国国庆9月的第一个星期一:劳动节11月的第四个星期四:感恩节12月25日:圣诞节现在给出一个年份,请你帮忙生成当...原创 2019-07-12 17:18:13 · 241 阅读 · 0 评论 -
计算一个数的因子个数,解密
题目 输出每个正整数的因子个数一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。输入描述:输入包括多组数据。每组数据仅有一个整数n (2≤n≤100000)。输出描述:对应每个整数,输出其因子个数,每个结果占一行。输入30 26 20输出3 ...原创 2019-07-12 16:45:50 · 1237 阅读 · 0 评论 -
找假币,背包问题
X86体系结构在保护模式下中有三种地址 虚拟地址 线性地址 物理地址虚拟地址先经过分段机制映射到线性地址,然后线性地址通过分页机制映射到物理地址分段机制 就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元;分页机制 把线性地址空间和物理地址空间分别划分为大小相同的块。这样的块称之为页。通过在线性地址空间的页与物理地址空间的页之间建立的映射,分页机制实现线性地址到物理地址的转换...原创 2019-07-12 16:48:00 · 264 阅读 · 0 评论 -
LRU算法,走迷宫,数根,星际战争
一进程刚获得三个主存块的使用权,若该进程访问页面的次序是{1321215123},采用LRU算法时,缺页数是几次?1 代表缺页 ,0 代表不缺页 ,所以缺页数是9次可重入函数可重入函数主要用于多任务环境中,简单来说就是可以被中断的函数,即在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,返回控制时不会出现什么错误;也意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括s...原创 2019-07-03 17:27:57 · 1364 阅读 · 0 评论 -
小易的升级之路,找出字符串中第一个只出现一次的字符
对递归程序的优化的一般的手段为:尾递归尾递归是指,在函数返回的时候,调用自身本身,并且,return 语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。 尾递归调用时,如果做了优化,栈不会增长,因此,无论多少次调用也不会导致栈溢出;在每一次递归的过程中保持了上一次计算的状态,也就是“线性迭代过程” ;尾递归和一般的递...原创 2019-06-26 23:22:04 · 155 阅读 · 0 评论 -
取手套
在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,ri...原创 2019-06-25 18:22:24 · 448 阅读 · 0 评论 -
最大的公共字符串
二叉树的遍历某二叉树的前序遍历序列与中序遍历序列相同,均为 ABCDEF ,则按层次输出(同一层从左到右)的序列为?这个还是感觉不太友好,第一次还没想到有这种情况的二叉树,这也是一种固化思维,以为所有的二叉树都必须要有左右子树;上图的这种情况前序中序遍历都一样,层序遍历也是一样的,但是后续遍历是:FEDCBA;...原创 2019-07-03 18:29:42 · 221 阅读 · 0 评论 -
计算日期到天数转换,幸运的袋子
下列代码输出啥? char ccString1[] = "Is Page Fault??"; char ccString2[] = "No Page Fault??"; strcpy(ccString1, "No"); if (strcmp(ccString1, ccString2) == 0) { cout << ccString2; }else { cout &l...原创 2019-06-20 14:04:55 · 200 阅读 · 0 评论 -
另类加法,允许增加子函数
下列代码输出啥?#include <iostream>using namespace std;void func(char **m) { ++m; cout << *m << endl;}int main() { static char *a[] = { "morning", "afternoon", "evening" }; char **p...原创 2019-06-08 23:32:56 · 1466 阅读 · 1 评论 -
放蛋糕,字符串转换成整数
编程:放蛋糕二货小易有一个W*H的网格盒子,网格的行编号为0~H-1; 网格的列编号为 0 ~ W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根;小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包...原创 2019-06-08 21:30:23 · 548 阅读 · 0 评论 -
杨辉三角的变形,超长正整数的加法
下列代码输出什么? char *p = "abc"; char *q = "abc123"; while (*p = *q) { print("%c %c", *p, *q); }类型不匹配,左边是指针变量,右边是常量,在c++编译器下无法完成编译;而且该代码还存在很多问题,修改后为: char p[] = "abc"; char q[] = "abc123"; char ...原创 2019-06-20 14:09:43 · 538 阅读 · 2 评论 -
完美数,扑克牌大小
这条语句是啥意思?int(*pt)[3];输出结果为:4其实这条语句 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组,这个二维数组还是比较难以理解的,并不是说他就是二维数组,只是它可以指向二维数组的元素,如果对 pt 加 1 ,则会跳过三个元素,指针指导 2 的下一位;也就说本题中的 3 ;当然这是一个二行三列的数组,pt 可以指向 n 行3列的任意数组,因为它是一个数...原创 2019-06-07 19:06:11 · 362 阅读 · 0 评论 -
查找组成一个偶数最接近的两个素数,二进制插入
64位操作系统下列代码输出多少?struct st_task{ uint16_t id; uint32_t value; uint64_t timestamp;};void fool(){ st_task task = {}; uint64_t a = 0x00010001; memcpy(&task, &a, sizeof(uint64_t)); pri...原创 2019-06-05 15:08:53 · 279 阅读 · 0 评论 -
参数解析,跳石板
下列选项不能正确输出hello 的是?#include<stdio.h>struct str_t{ long long len; char data[32];};struct data1_t{ long long len; int data[2];};struct data2_t{ long long len; char *data[1]...原创 2019-06-04 19:23:56 · 237 阅读 · 0 评论 -
密码强度等级,井字棋
如果 x = 9999 求返回值看代码!!!int func(int x) { int count = 0; while (x){ count++; x = x & (x - 1);//与运算 } return count;}其实代码最核心的地方就是这条语句 “x = x & (x - 1);”这条语句其实就相当于计算 x 的初始化有多少个1 ;而999...原创 2019-06-01 23:05:12 · 912 阅读 · 0 评论 -
求连续最大的bit数,最近公共祖先
下列代码试图打印数字1-9的全排列组合尝试着阐述代码原理?#include <iostream>#include <stdio.h>#include <stdlib.h>#define N 9int x[N];int count = 0;void dump() { int i = 0; for (i = 0; i < N; i++...原创 2019-06-01 19:12:45 · 255 阅读 · 0 评论 -
查找两个字符串a,b中的最长公共子串,两种排序方法,求最小公倍数
1. 两种排序方法考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:“car” < “carriage” < “cats” <"doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” <“doggies” <...原创 2019-05-29 18:16:02 · 660 阅读 · 0 评论 -
括号匹配、Fibonacci数列
一、Fibonacci数列时间限制:1秒 | 内存限制:32768KFibonacci数列是这样定义的:F[0] = 0 F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一...原创 2019-05-28 17:05:18 · 247 阅读 · 0 评论 -
统计回文字符串,连续最大和
结构体对齐规则第一个成员在与结构体变量偏移量为0的地址处。其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的值为8,Linux中的默认值为4结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数...原创 2019-06-07 16:39:38 · 197 阅读 · 0 评论 -
十进制转为任意进制,发糖果
选择题 1下列指令运行的结果为?int a[5] = {1,3,5,7,9};int *p = (int *)(&a+1);printf(“%d,%d”,*(a+1),*(p-1));我第一的思路是这样的:我以为 &a+1之后和 p 类型不匹配,因为&a本质是一个二级指针,但是p是一级指针,所以认为代码会奔溃;可是熟不知在前面强制转换为int* 类型了。a ...原创 2019-05-24 17:01:36 · 189 阅读 · 0 评论 -
字符串中找出连续最长的数字串,n个数里出现次数大于等于n/2的数
选择题1以下代码输出的是?#include <stdio.h>#include <stdlib.h>int main(){ char a[10] = { '1','2','3','4','5','6','7','8','9',0 }, *p; int i; i = 8; p = a + i; printf("%s\n", p - 3); system(...原创 2019-05-23 16:45:08 · 488 阅读 · 0 评论 -
排序子序列,倒置字符串
排序子序列牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他 最少 可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出:2输入描述:输入的第一行为一个...原创 2019-05-22 16:42:37 · 476 阅读 · 0 评论 -
删除公共字符 ,组队竞赛
一、格式控制输出该代码输出的是?int main(){ printf("%s\n","computer"); printf("%5.3s\n","computer"); system("pause"); return 0;}这里注意的是小数点前面代表的是输出所占用的字符位置,小数点后面才是真正输出的位数,如果是正数则右对齐,如果是负数则左对齐;编程题1牛牛举办了一次编...原创 2019-05-21 17:49:49 · 263 阅读 · 0 评论 -
喝汽水题
规则是:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水。题目是: 给20元,可以喝多少汽水?条件是:编程实现。代码敬上:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int num(int n){ if (n == 0)//零元返回零瓶 { return 0;...原创 2019-02-25 21:54:23 · 381 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现
<==接上一篇博客:找到出现一次的两个数字第二种方法.因为我第一次看到这道题,首先想到的是用第二种方法编程,用了指针去比较,循环语句用的是while.然后我写了好久,但我没做出来,后来看了一个大佬的博客,竟有点怀疑人生,哎自愧不如这道题代码竟然可以这么简单#include <stdio.h>#include <stdlib.h>int main(){ /...原创 2019-02-25 11:43:17 · 736 阅读 · 1 评论 -
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现
题目原创 2019-02-24 20:53:13 · 239 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串
题目:判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 = AABCD和s2 = BCDAA,返回1 给定s1 = abcd和s2 = ACBD,返回0AABCD左旋一个字符得到 ABCDAAABCD左旋两个字符得到 BCDAAAABCD右旋一个字符得到 DAABC思考:首先这道题的题意我看的有点懵,题目说的是:有一个字符串str1(假设),先将str1旋转之后得...原创 2019-02-21 21:17:16 · 289 阅读 · 0 评论 -
实现一个函数,可以左旋字符串中的k个字符
实现一个函数,可以左旋字符串中的k个字符。例: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>char* ZuoXuan(char *p, int n...原创 2019-02-21 14:03:30 · 348 阅读 · 1 评论 -
在这样的数组中查找一个数字是否存在
【杨氏矩阵 】有一个二维数组数组的每行从左到右是递增的,每列从上到下是递增的题目: 在这样的数组中查找一个数字是否存在要求:时间复杂度小于O(N)数组:1 2 3 1 3 4 1 2 32 3 4 2 4 5 4 5 63 4 5 4 5 6 7 8 9解题思路:什么是时间复杂度?通俗来讲就是哪种方法越简单,系统计算次数越少,那么时间复杂度就越简单,所用的时间也就越少...原创 2019-01-24 21:00:51 · 1763 阅读 · 0 评论