摘要: 出题:输入N个整数,要求输出其中最小的K个数;分析:快速排序和最小堆都可以解决最小(大)K个数的问题(时间复杂度为O(NlogN));另外可以建立大小为K的最大堆,将前K个数不断插入最大堆,对于之后的N-K个数,依次与堆顶元素进行比较,如果新元素更小则删除当前堆顶元素,并更新最大堆;如果新元素大则跳... 阅读全文
posted @ 2014-05-15 17:57 Leo C. 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 出题:N阶阶乘问题的递归算法和非递归算法;分析:第一种解法:普通暴力解法的实现较为容易;第二种解法:stirling公式可快速给出近似解;解题: 1 int Recursive(int s) { 2 if(1 == s) { 3 return s; 4... 阅读全文
posted @ 2014-05-15 17:48 Leo C. 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 出题:将字符串“ABCD1234efgh”进行前后对调;分析:常见的考查指针使用的案例,知道字符串长度之后,依次交换位置i以及位置(length-1-i)上的内容,直到重叠;注意不能直接修改指针变量索引的常量字符串;解题: 1 #include 2 #include 3 void reverse... 阅读全文
posted @ 2014-05-15 17:09 Leo C. 阅读(297) 评论(0) 推荐(0) 编辑