面试
bitcold_robin
这个作者很懒,什么都没留下…
展开
-
strcpy&strncpy实现
strcpy实现2分实现void strcpy( char *dest, char *src ){ while( (*dest++ = * src++) != '\0' );} 4分实现void strcpy( char *dest, const char *src ) //接口能给调用者传递更多的信息{ while( (*dest++ = *src++) != '\0'原创 2013-03-21 17:35:24 · 565 阅读 · 0 评论 -
光宝笔试
1. 一段程序声明了数组、指针,给几个sizeof,写出每个sizeof得多少。C语言指针、sizeof基本题。2、考大端小端,给了int a[2] = { -1, 127},让写小端时内存中的二进制位。懂得小端和补码就可以做出此题。小端及数的地位在低地址。x86是小端3、问sleep 和for那个用来延时比较好。我答了两点:for浪费cpu资源、for延时时间不准确。4、写出几种进程原创 2013-04-05 15:52:06 · 770 阅读 · 0 评论 -
微软笔试归来
#include using namespace std;class A { public: long a;};class B: public A { public: long b;};void seta(A *data, int idx) { data[idx].a = 2;}int main() { B d原创 2013-04-06 22:11:27 · 733 阅读 · 0 评论 -
n元素顺序入栈,出栈的可能性有多少种
包括编程之美上的买票问题、括号匹配问题都是一个问题,都是一个问题。这个问题的答案是卡塔兰数。解决这个问题的思考过程十分巧妙,个人觉得很难领会这其中蕴含的思考方法。个人总结这个问题还是用递推(递归)的思路解决。若用(n,m)表示有n个元素还没有入栈,栈内目前有m个元素时,出栈可能的种数。则问题就是(n,0)。当目前状态为(n, 0)时只能进行入栈操作,则有(n, 0) = (n - 1,原创 2013-03-22 22:35:04 · 2112 阅读 · 0 评论 -
Programming Pearls第2章思路总结
正文问题一给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。答案见此博客总结:时刻想着利用二分搜索来解决问题问题二:循环旋转字符串思路一:若要旋转k位,则每个字符向前(向后)移动k位。此方法只须n次操作,且仅需一个元素的额外空间,但此方法实际没比较慢,因为不能很好地利用cache。思路二:问题可描述为把ab变为ba,可以把b分为bl原创 2013-03-27 10:33:13 · 515 阅读 · 0 评论 -
Programming pearls第一章思路总结
正文要明确问题,位图数据结构,简单的设计习题第1题C++STL中的set可用iterator顺序输出集合中的元素第2题当m为2i时,n/m可用位操作n>>i来实现,移位操作比除法效率高很多 同理,n%m也可用位操作实现(n&MASK),其中MASK为(1第4题产生[0, n)中的k个不重复的随机数 for i = [0, n) x[i] = ifor i原创 2013-03-26 22:01:20 · 680 阅读 · 0 评论