笔试面试积累加刷题
文章平均质量分 55
u010667082
这个作者很懒,什么都没留下…
展开
-
[转]剑指offer面试题总结
面试题3:查找排序二维数组面试题4:替换空格为%20扩展1-复制排序数组B至尾部有足够空余空间的排序数组A。 (我记得我最近一次感叹逆序思路的时候就是这道题,替换空格也在CC上有)面试题5:从尾到头打印链表看到题的时候还是能想到用栈的。 不过书中说看到栈要联想到递归,这句话很有道理。虽然递归显然没有用栈的空间效率高,还有栈溢出的危险什么的,但是不失为一种比转载 2015-06-29 16:55:31 · 400 阅读 · 0 评论 -
程序员面试宝典中的一个错误 char * b=(char *)&a
本文转自:http://www.cppblog.com/wuzimian/archive/2012/05/23/175925.aspx1 #include 2 using namespace std; 3 int main() 4 { 5 unsigned int a = 0xFFFFFFF7; 6 unsigned char i = (unsign转载 2015-07-29 10:27:41 · 728 阅读 · 0 评论 -
报数
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出,问最后留下的那位是原来第几号。//其实是约瑟夫环问题 方法一: 用数组来模拟圈 第一次开始数的位置的索引为0 删除数的索引为(startPos+(m-1)%length)%length 更新开始数数位置的索引 数组删除元素要用移位//方法二,用list循环链表模拟圈 第一次从 List.begin()原创 2015-07-26 16:33:03 · 373 阅读 · 0 评论 -
判断两颗二叉树是否相同
typedef struct BinaryTreeNode{ int data; BinaryTreeNode *left,*right; }BinaryTreeNode;bool IsSameTree(BinaryTreeNode*pRoot1,BinaryTreeNode *pRoot2)//先序每个结点判断是否相等{ if(pRoot1==NULL&&pRoot原创 2015-07-31 20:54:35 · 1734 阅读 · 0 评论 -
单例模式
#include#includeusing namespace std;class Singleton{private: Singleton(){value=0;} static Singleton *single;//单例模式中唯一的实例 int value;//用来测试用public: static Singleton *GetSingleton();//对外的接口获取单例原创 2015-08-14 23:03:29 · 288 阅读 · 0 评论 -
C/C++求职宝典21个重点笔记(常考笔试面试点)
这是我之前准备找工作时看《C/C++求职宝典》一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看。 1. char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”。char c1 = '\''; //后面接一个特殊字符char c2 = '\110'; //后面接一个三位的八进制数 三个数值小于转载 2015-06-29 16:56:51 · 2092 阅读 · 0 评论 -
C++中STL常用容器的优点和缺点
目录(?)[-]verctorlistdequemapmultimapsetmultiset小结我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚。verctorvector类似于C语言中转载 2015-08-16 10:08:51 · 6181 阅读 · 0 评论 -
以太网和因特网之间的关系与区别(转载)
以太网,属网络低层协议,通常在OSI模型的物理层和数据链路层操作。它是总线型协议中最常见的,数据速率为10Mbps(兆比特/秒)的同轴电缆系统。该系统相对比较便宜且容易安装,直接利用每个工作站网卡上的BNC-T型连接器,就可以将电缆从一个工作站连接到另一个工作站,完成网络传输控制任务。 以太网是ethernet。运行速率有10Mbps,100Mbps,1Gbps,10Gbps的。传输介质转载 2015-08-19 20:09:24 · 6328 阅读 · 1 评论 -
递归函数用mystrlen(char *buf,int N) 实现统计字符串中的第一个空字符前面的字符串长度
递归函数用mystrlen(char *buf,int N) 实现统计字符串中的第一个空字符前面的字符串长度举例 char buf[]={'a','i','c','d','e','f','\0','x','y','z'}; mystrlen(buf,10) mystrlen(buf,20) 的结果为6 mystrlen(buf,3) mystrlen(buf,5) 的原创 2015-07-30 17:47:55 · 2655 阅读 · 4 评论 -
计算二进制数的0的个数
输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。输入:要计算的十进制非负数输出:二进制中第一个1之后0 的个数思路:一个整形32位最多移动32次,先找出最左边一个1的位置,判断条件 a=1#include#include#include#include#includeusing na原创 2015-07-27 16:58:17 · 1759 阅读 · 0 评论 -
给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)
给定一个01串(仅由‘ 0’或‘1’组成的字符串),现在想把这个数字串排序成“非递减”有序序列,请问至少需要多少次交换(任意两个位置交换)? 输入描述:输入数据第一行是一个正整数T(T<=100),表示有T组测试数据;接下来的T行,每行给出01串。数据保证——50%的字符串长度在[1,100 ]95%的字符串长度在[1,10000]100%的字符串长度在[1,1000000]原创 2015-09-11 16:15:51 · 8426 阅读 · 0 评论 -
公司笔试题
2013年海康威视校园招聘笔试题 2013年海康威视校园招聘笔试题分类: 剑指Offer2013-01-07 11:41 12239人阅读 评论(12) 收藏 举报1、10、10、4、4四个数,怎么算出24点?(10*10-4)/4=242、下列表达式在32位机器编译环境下的值()[cpp] view plaincopy转载 2015-09-28 21:38:06 · 525 阅读 · 0 评论 -
整形取值范围即编程小技巧
在32为机上 无符号的整形 unsigned int 范围为0~2^32-1 即为0~4294967295 或表示为十六进制范围0x0~0xffffffff 在32为机上有符号的整形int 范围为 -2^31~2^31-1 即为 -2147483648~+2147483647 十六进制范围 [0x80000000, 0xffffffff]32位原创 2015-06-25 10:27:08 · 816 阅读 · 0 评论 -
程序员面试宝典知识点笔记
c中printf 计算参数时 是从右向左压栈的。 printf("%d,%d",a,++a); 两个数输出结果一样编译器不允许对常量赋值float a; (int&)a 将变量a 用int 类型来解释int a=0x11223344; char *p=(char*)(&a) 则*p 的值在小端模式下取值为0x44 *p 的含义为: 在a的起始地址处取一个字节宽原创 2015-07-30 16:03:59 · 456 阅读 · 0 评论 -
C/C++语言中const的用法
转自:http://www.cnblogs.com/xkfz007/archive/2012/02/27/2370478.html1. const 在C和C++中的区别C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中. 所以在C++中const修饰的量可以用在数组的定义中。而在转载 2015-07-29 14:38:02 · 351 阅读 · 0 评论 -
C++primer笔记待续。。。
模板形参分为类型形参和非类型形参使用函数模板时编译器会为们推断模板实参类外定义的类模板成员函数。 template void Stack::push();非类型模板实参必须是编译时常量。 template screen{}; 调用时 screen test;//模板实例化。原创 2015-08-09 09:46:06 · 322 阅读 · 0 评论 -
用递归算法判断数组a[N]是否为一个递增数组
用递归算法判断数组a[N]是否为一个递增数组。递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束:#include#include#includeusing namespace std; bool IsIncrementalArray(int a[],int n){ if(n==1) { return true; }原创 2015-07-25 22:30:28 · 2376 阅读 · 0 评论 -
找出数组中第二大的数
#include#include#includeusing namespace std; //初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最大值和次大值,最后就可以得到次大值。 这种方法时间复杂度为O(n)bool InvalidInput=false;int FindSecondMax(int a[],int n){ if(n<2||a==NU原创 2015-07-25 21:32:51 · 578 阅读 · 0 评论 -
整数排序
实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数输入: 一组大于等于0的整数,不考虑非法输入,各个整数之间以逗号(“,”)分隔, 输入字符串的总长度小于等于100个字节。输出: 排序后的值,各个整数之间以空格分隔。样例输入: 1,4,3,110,2,90,7原创 2015-07-27 22:12:59 · 459 阅读 · 0 评论 -
尼科彻斯定理
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入:整数m(取值范围:1~100)输出:尼科彻斯定理成立,输出m个连续奇数(格式:“7+9+11”);否则输出-1//思路从奇数的1的开始往上累加,大于m*m*m 则从下一个奇数开始累加。累加原创 2015-07-27 12:20:45 · 907 阅读 · 0 评论 -
找零钱
我们知道人民币有1、2、5、10、20、50、100这几种面值。现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。输入: 输入有多组,每组一行,为一个整合n。输入以0结束。输出: 输出该面额有几种表示方法。原创 2015-07-27 11:35:19 · 945 阅读 · 0 评论 -
名字的漂亮度
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。输入:整数N,后续N个名字N个字符串,每个表示一个名字输出:每个名称可能的最大漂亮程度样例输入:2zhangsan原创 2015-07-27 18:21:45 · 472 阅读 · 0 评论 -
等式变换
题目:等式变换输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。1 2 3 4 5 6 7 8 9 = X比如:12-34+5-67+89 = 51+23+4-5+6-7-8-9 = 5请编写程序,统计满足输入整数的所有整数个数。输入: 正整数,等式右边的数字输出: 使该等式成立的个数样例输入:5样例输出:21此题可以用最笨的方原创 2015-08-06 14:28:18 · 1729 阅读 · 0 评论 -
顺时针打印矩阵
顺时针打印矩阵的形式:顺时针打印矩阵 的方法应该有不少,对于N*N的矩阵最简单可能是设立标志位的形式 每次死板从左到右, 从上到下,从右到左,从下到上打 聪明方法设立四个游标首尾相连的打不需要标志位#include#include#include#includeusing namespace std;inline int Max(int a,int原创 2015-07-31 09:57:14 · 314 阅读 · 0 评论 -
螺旋队列算法分析转
螺旋队列的样子如下图:两大规律:1、螺旋规律2、奇数(圈数,或X轴正坐标)平方规律(紫线)每圈最大值max=(2*c+1)(2*c+1),c为由内往外的圈数,c>=0 问题描述: 设1的坐标是(0,0),x方向向右为正,y方向向下为正,例如,7的坐标为(-1,-1),2的坐标为(1,0)。编程实现输入任意一点坐标(x,y),输出所转载 2015-07-30 22:53:02 · 521 阅读 · 0 评论 -
合唱队
计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1Ti+1>......>TK。 你的任务是,已知所有N位同学的身高,计算最少需要几位同原创 2015-07-27 15:54:53 · 965 阅读 · 0 评论 -
静态链接库LIB和动态链接库DLL的区别 创建和示例
1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库转载 2015-07-23 18:56:26 · 260 阅读 · 0 评论 -
最长公共子序列
子序列是指从给定的序列中随意地(不一定是连续的)去掉若干元素后所形成的的序列最长公共子序列,是指多个字符串可具有的长度最大的公共的子序列。求两个序列的最长公共子序列:设两个序列为X(i)=x1x2x3.........xi 其中i为序列X的长度 Y(j)=y1y2y3.........yj 其中j 为序列Y 的长度。设序列X(i) 和序列Y(j) 的最长公共子序列原创 2015-08-04 11:31:51 · 315 阅读 · 0 评论 -
整数分隔
描述: 一个整数总可以拆分为2的幂的和,例如:7=1+2+47=1+2+2+27=1+1+1+47=1+1+1+2+27=1+1+1+1+1+27=1+1+1+1+1+1+1总共有六种不同的拆分方式。再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。用f(n)表示n的不同拆分的种数,例如f(7)=6.要求编写转载 2015-07-26 18:23:03 · 282 阅读 · 0 评论 -
局部性
一个编写良好的计算机程序倾向于展示出良好的局部性(locality)。也就是,它们倾向于引用的数据项邻近于其他最近引用过的数据项,或者邻近于最近自我引用过的数据项。这种倾向性,被称为局部性原理(principle of locality),是一个持久的概念,对硬件和软件系统的设计都有着极大影响。 局部性通常有两种形式:时间局部性(temporal locality)和空间局部性(spat转载 2015-10-16 11:08:16 · 1525 阅读 · 0 评论