笔试/面试题
skylinesky
这个作者很懒,什么都没留下…
展开
-
strcpy的源码
对于c/c++面试很多都会问到这个题,3月中旬去搜狗的时候也碰到这个题。char *strcpy(char *dest, const char *source){ assert(dest || source); char *p = dest; while ((*p++ = *source++) != '\0') ; return dest;}原创 2012-05-29 09:54:05 · 570 阅读 · 0 评论 -
最长递增子序列
这是微软实习生笔试遇到的,题意:求一个数组中最长递增子序列的长度。要求选择该题最好算法的时间复杂度和空间复杂度。答案:时间复杂度O(NlgN),空间复杂度O(N)。这题明显用动态规划来解。假设在目标数组array[ ]的前i个元素中,以array[i]元素为最大元素的递增子序列的长度是LIS[i]。那么递归求解表达式为:LIS[i+1] = max{1, LIS[k] + 1}, ar原创 2012-05-31 10:51:44 · 1979 阅读 · 0 评论 -
求集合的幂集
集合的幂集A = { 1, 2, 3}, 则A的幂集为:{{1, 2, 3}, {1, 2}, {1, 3}, {2, 3} ,{ 2} ,{3} ,Φ}。对于求A集合的幂集,A中的元素它只有两中状态,它或属于幂集的元素集,或者不属于幂集的元素集。求幂集的过程可以看成是对A中元素进行“取”或“舍”的过程。状态树如下:叶子节点表示终结状态,而第i层的分支节点,则表示已对集合A中前i-1个元素进行了取原创 2012-06-03 01:42:55 · 7155 阅读 · 1 评论