深海的小鱼儿

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年11月21日

摘要: 已知链表的头结点head,写一个函数把这个链表逆序 ( Intel) Node * ReverseList(Node *head) //链表逆序 { if ( head == NULL || head->next == NULL ) // 否则下面的就错了,一定要注意一些特定条件的判断,边界问题狠重要,软件开发要注意对异常分支的处理 // 三个指针的方式结构比较清晰 Node *p1 =... 阅读全文
posted @ 2011-11-21 22:09 深海的小鱼儿 阅读(752) 评论(0) 推荐(0) 编辑

摘要: VIA和EMC都曾经笔过这个试题 输入N, 打印 N*N 矩阵 比如 N = 3,打印: 1 2 3 8 9 4 7 6 5 N = 4,打印: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 /*螺旋矩阵*/ #include <stdio.h> #include <conio.h> #define RIGHT 0 #define D... 阅读全文
posted @ 2011-11-21 22:08 深海的小鱼儿 阅读(2284) 评论(0) 推荐(0) 编辑

摘要: 找出两个字符串中最大公共子字符串,如"abccade"、"dgcadde"的最大子串为"cad" // 此题用for能控制循环,思路比下面的while更容易看懂 int GetCommon(char *s1, char *s2, char **r1, char **r2) { int len1 = strlen(s1); int len2 = strlen(s2); int maxle... 阅读全文
posted @ 2011-11-21 22:08 深海的小鱼儿 阅读(1890) 评论(1) 推荐(2) 编辑

摘要: 写一个函数,完成内存之间的拷贝。[考虑问题是否全面,是否考虑内存重叠问题] 返回void *支持链式操作,参数类型是void *以支持任意类型的指针,输入参数加上const修饰,最好加上assert对输入输出指针进行非NULL判断 void* memcpy( void *dest, const void *src, size_t count ) { char* pdest = static... 阅读全文
posted @ 2011-11-21 22:06 深海的小鱼儿 阅读(3110) 评论(0) 推荐(0) 编辑

摘要: 要求:不申请变量和空间 反转字符串 ,用一个函数实现。 异或^交换或者加减交换的典型应用! VIA 笔试题 基本思路:从 两头往中间做字符交换 。字符串最后一个字符是 '/0' ,表示结束,没有实际意义,可以将它 当作中间变量 ,等处理完成后,再将最后一个字符置 '/0' 即可 **********************************************************... 阅读全文
posted @ 2011-11-21 22:06 深海的小鱼儿 阅读(1561) 评论(0) 推荐(0) 编辑

摘要: 矩力集成2008年校园招聘笔试题:动态申请一个二维数组存储图像阵列 传统的解决方案是分配一个指针数组, 然后把每个指针初始化为动态分配的 ``列"。 以下为一个二维的例子: //typedef int (*arraypoiter)[ncolumns]; int **dynamic_alloc_arrays(unsigned int nrows,unsigned int ncolumns) ... 阅读全文
posted @ 2011-11-21 22:05 深海的小鱼儿 阅读(698) 评论(0) 推荐(1) 编辑

摘要: 矩力集成2008年校园招聘笔试题:动态申请一个二维数组存储图像阵列 传统的解决方案是分配一个指针数组, 然后把每个指针初始化为动态分配的 ``列"。 以下为一个二维的例子: //typedef int (*arraypoiter)[ncolumns]; int **dynamic_alloc_arrays(unsigned int nrows,unsigned int ncolumns) ... 阅读全文
posted @ 2011-11-21 21:59 深海的小鱼儿 阅读(1212) 评论(0) 推荐(0) 编辑

摘要: ×××××××××××××××××××××××××××××××××× 统计一个字符串中所有字符出现的次数 基本思路:建立一个访问标志数组,初始化为访问次数0,每访问一次,将其增1: static int count[128]; 遍历字符串数组,每次读取一个字符 阅读全文
posted @ 2011-11-21 21:58 深海的小鱼儿 阅读(1481) 评论(1) 推荐(1) 编辑

摘要: 一语句实现x是否为2的若干次幂的判断 #define is2*n(x) ((x & (x - 1))? 0 : 1) int main(void) { int m = 512; cout << ((m & (m - 1)) ? false : true) << endl; //即当m中只有一位为1时,才为若干次幂值 //若有两个及以上1,则(m & (m - 1))不为0,输出0,表... 阅读全文
posted @ 2011-11-21 21:57 深海的小鱼儿 阅读(298) 评论(0) 推荐(1) 编辑

摘要: Baidu和EMC的笔势题:对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。(不用考虑数值超出计算机整数界限的问题) 思路分析: 本题要用数学的方法来解决效率最高,连续K个0,则说明是10^K的倍数,即(2×5)^ K= 2^K× 5^K;待求的数为N*(N-1)(N-2)………1,由于每两个数至少... 阅读全文
posted @ 2011-11-21 21:56 深海的小鱼儿 阅读(580) 评论(0) 推荐(0) 编辑

摘要: 2009腾迅校园招聘笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen(const char *p); 思路分析: 在字符串中通常可以利用最后一个结束符’/0’,但此处参数为const,只读,那么我们不能打他的主意 函数运行过程中不占用内存基本不可能,除非都使用了寄存器。“不使用中间变量”只是说程序员不能显示的申请内... 阅读全文
posted @ 2011-11-21 21:56 深海的小鱼儿 阅读(1200) 评论(1) 推荐(3) 编辑

摘要: 华为笔试题:写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。 答案:最容易想到的算法是: 设x是1的个数,y是2的个数,z是5的个数,number是组合数 x+2*y+5*z = 100 求这个方程解的个数number 注意到0<=x<=100,0<=y<=50,0<=z=20,所以可以编程为:... 阅读全文
posted @ 2011-11-21 21:55 深海的小鱼儿 阅读(435) 评论(0) 推荐(0) 编辑

摘要: 今天老大让我针对一个面试者出些嵌入式方面的面试题,主要是想对他的技术深度进一步了解。我就出了下面这些问题,每个问题背后都是考察一个嵌入式程序员应该具备的相关技能。当然这些只是我的个人理解,不一定正确。在此与大家分享,只是希望朋友们能够得到一点点启发:如何抓住每一个契机展现你的与众不同? 同样的技术问题,很多人可能都能够回答得对,但有些人只是知其然而不知所以然。其实面试官每一个问题背后通常都隐藏着... 阅读全文
posted @ 2011-11-21 21:53 深海的小鱼儿 阅读(781) 评论(0) 推荐(0) 编辑

摘要: 思科和横河电机面试题。通过一次遍历找到单链表中倒数第n个节点,链表可能相当大,可使用辅助空间,但是辅助空间的数目必须固定,不能和n有关。 单向链表的特点是遍历到末尾后不能反向重数N个节点。因此必须在到达尾部的同时找到倒数第N个节点。 不管是顺数n个还是倒数n个,其实都是距离-标尺问题。标尺是一段距离可以用线段的两个端点来衡量,我们能够判断倒数第一个节点,因为他的next==NULL。如果我们用... 阅读全文
posted @ 2011-11-21 21:50 深海的小鱼儿 阅读(3389) 评论(0) 推荐(0) 编辑

摘要: 之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题。最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码运行中的时候其他代码一样可以运行。 jquery的async:false,这个属性 默... 阅读全文
posted @ 2011-11-21 21:16 深海的小鱼儿 阅读(247847) 评论(10) 推荐(18) 编辑