![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题及其解决办法
文章平均质量分 78
前进的菜鸟
这个作者很懒,什么都没留下…
展开
-
没有事锻炼一下自己的思维(持续更新)
根据图形所给出的规律及语言描述提示用C/C++(不能用库函数)编写代码实现其功能。(欢迎大家提出意见与写出更好的代码)1、Please input a number:10 1 2 6 7 15 16 28 29 45 46 3 5 8 14 17 27 30 44 47 64 4原创 2011-12-23 11:16:33 · 1201 阅读 · 4 评论 -
查漏补缺(C++笔试)(更新中)
1.动态链接库与静态链接库的区别:解:动态链接是指在生成可执行文件时不将所有程序乃至的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。而静态链接就是把所有乃至的函数全部链接到.exe文件中。动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入。而静态链接是把所有的代码和数据都复制到本模块中,运行是就不在需要原创 2012-09-17 16:05:42 · 866 阅读 · 0 评论 -
改进的筛选素数法
最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内的素数并保存到primes[]数组中。const int MAXN = 100;bool flag[MAXN];int primes[MAXN / 3], pi;void GetPrime_1(){ int i, j; pi = 0; m原创 2012-08-31 21:03:51 · 722 阅读 · 0 评论 -
堆(heap)和栈(stack)的区别
1申请方式stack:由系统自动分配。例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间.heap:需要程序员自己申请,并指明大小,在c中用malloc函数.2申请后系统的响应栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空原创 2012-08-21 16:25:45 · 933 阅读 · 0 评论 -
c/c++ static 用法总结
static关键字是C, C++中都存在的关键字。static从字面理解,是“静态的“的 意思,与此相对应的,应该是“动态的“。static的作用主要有以下3个:1、扩展生存期;2、限制作用域;3、唯一性;1、扩展生存期这一点主要是针对普通局部变量和static局部变量来说的。声明为static的局部变量的生存期不再是当前作用域,原创 2012-07-24 21:19:44 · 801 阅读 · 0 评论 -
Catalan数计算及应用
问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1) 该递推关系的解为:h(n)=C(2n,n)/(n+1) (n=1,2,3,...) 思路:直接根据递归转载 2012-07-18 10:11:21 · 560 阅读 · 0 评论 -
关于数组的几道面试题
一、数组求和 给定一个含有n个元素的整型数组a,求a中所有元素的和。可能您会觉得很简单,是的,的确简单,但是为什么还要说呢,原因是这道题要求用递归法,只用一行代码。分析:1. 如果数组元素个数为0,那么和为0。2. 如果数组元素个数为n,那么先求出前n - 1个元素之和,再加上a[n - 1]即可// 数组求和int sum(int*a, int n){原创 2012-04-23 17:42:14 · 11146 阅读 · 2 评论 -
常见内存错误
随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数周时间并非罕见。而这些难以定位的BUG基本上可以归为两类:内存错误和并发问题。而又以内存错误最为普遍,即使是久经沙场的老手,也有时也难免落入陷阱。前事不忘,后世之师,了解这些常见的错误,在编程时就加以注意,把出错的原创 2012-04-26 17:49:48 · 711 阅读 · 0 评论 -
面试题1
1.五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;.....其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?分析与解:设开始有x个桃子,我们把x写成(x+4)-4. 第一个猴子来了,吃掉1个,还有桃子原创 2011-12-14 17:50:37 · 795 阅读 · 2 评论 -
面试题2
3、两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)b[0] = 1;for (int i = 1; i < N;原创 2012-04-10 11:43:07 · 513 阅读 · 0 评论 -
按位反转字符串与整数
一、按位反转字符串Write a C function to swap the bits of a unsigned char so that its bits become the mirror image of the char. MSBs become its LSBs, e.g. 01111000 binary should become 00011110 binary. 方原创 2012-03-19 16:03:42 · 693 阅读 · 0 评论 -
常用位操作小技巧
1.判断奇偶只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if (a & 1 == 0)代替if (a % 2 == 0)来判断a是不是偶数。下面程序将输出0到100之间的所有奇数 for (i = 0; i < 100; ++i) if (i & 1) printf("%d ", i); putchar('\n');2.交换两数vo原创 2012-03-31 14:07:25 · 2284 阅读 · 0 评论 -
操作系统各大公司笔试题汇总
1、在段页式存储管理中,其虚拟地址空间是()A、一维 B、二维 C、三维 D、层次答案:B2、采用( )不会产生内部碎片(“内零头”)A、分页式存储管理转载 2012-03-29 11:35:41 · 522 阅读 · 0 评论 -
约瑟夫环问题(运用递推)
利用数学推导,下面是推导的过程: (1)第一个被删除的数为 (m - 1) % n。 (2)假设第二轮的开始数字为k,那么这n - 1个数构成的约瑟夫环为k, k + 1, k + 2, k +3, .....,k - 3, k - 2。做一个简单的映射。 k -----> 0原创 2012-01-05 16:31:33 · 7611 阅读 · 1 评论 -
经典算法大全
1.河内之塔........................................................................................................................................ 42.Algorithm Gossip: 费式数列..............................转载 2014-09-24 09:46:32 · 3924 阅读 · 1 评论