随笔分类 -  算法

摘要:原文地址:http://www.51testing.com/html/72/n-221172.html传说常见的一个笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen(const char *p); 思路分析: 在字符串中通常可以利用最后一个结束符’\0’,但此处参数为const,只读,那么我们不能打他的主意。 函数运行过程中不占用内存基本不可能,除非都使用了寄存器。“不使用中间变量”只是说程序员不能显示的申请内存而已,即不能有局部变量或者动态内存申请。 如果函数自动申请栈内存或者使用寄存器存储变量,或者使用立... 阅读全文
posted @ 2012-10-24 20:31 三更_雨 阅读(4397) 评论(0) 推荐(1)
摘要:主要是为了记录最后一种神奇的方法。原文地址:http://www.cnblogs.com/xianghang123/archive/2011/08/24/2152408.html这是一个很有意思的问题,也是在面试中最容易被问到的问题之一。这个问题有个正式的名字叫Hamming_weight,而且wikipedia上也提供了很好的位运算解决的方法,这个下面也会提到。解决这个问题的第一想法是一位一位的观察,判断是否为1,是则计数器加一,否则跳到下一位,于是很容易有这样的程序。int test(int n){ int count=0; while(n != 0){ if(n... 阅读全文
posted @ 2012-10-24 13:14 三更_雨 阅读(301) 评论(0) 推荐(0)