剑指offer 2.4.1 1 #include 2 #include 3 4 void sortAges(int a[],int n) 5 { 6 const int MAXAGE=99; 7 if(a==NULL||n<=0) 8 return; 9 ...
分类:
其他好文 时间:
2014-08-23 17:42:01
阅读次数:
226
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27966641题目描写叙述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包括多个測试例子。对于每一个測试案例,输入为两个整数m和n(1int A...
分类:
其他好文 时间:
2014-08-23 09:58:50
阅读次数:
153
1. 如果是有parent指针的树,可以转化成 求两个链表第一个公共节点的问题。对于无parent指针普通二叉树(假定这两个节点一定在树中,否则需要先遍历一边树查找是否存在该节点) 1. (剑指offer的解法),先用一定的空间记录从根节点到两个节点各自的路径,然后找这两个路径最后一个相交的节点。....
分类:
其他好文 时间:
2014-08-21 01:29:33
阅读次数:
217
转载请注明出处:http://blog.csdn.net/ns_code/article/details/25915971题目描写叙述:输入一个二叉树,输出其镜像。输入:输入可能包括多个測试例子,输入以EOF结束。对于每一个測试案例,输入的第一行为一个整数n(0#includetypedef str...
分类:
其他好文 时间:
2014-08-20 22:30:33
阅读次数:
360
编程之美之队列中取最大值操作
剑指offer之取栈中最小值操作...
分类:
其他好文 时间:
2014-08-20 19:42:12
阅读次数:
197
分析:实现两个是相加不用四则运算,根据计算机中的运算不用四则运算那么肯定是位运算了。(以下分析来自剑指offer)比如我们计算5+17=22这个结果,世界上,我们可以分为3个步骤计算,第一步各位数相加不进位,此时的结果是12(个位相加不进位是2,十位相加是1),所以结果是12; 第二步做进位,5+7...
分类:
其他好文 时间:
2014-08-20 17:56:02
阅读次数:
232
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557题目描写叙述:统计一个数字在排序数组中出现的次数。输入:每一个測试案例包括两行:第一行有1个整数n,表示数组的大小。1#include/*二分查找法计算key出现的次数*/int...
分类:
其他好文 时间:
2014-08-19 22:25:15
阅读次数:
213
题目:设计一个类,我们只能生成该类的一个实例。...
分类:
编程语言 时间:
2014-08-12 13:41:54
阅读次数:
170
题目:输入n个整数,找出其中最小的k个数。
《剑指offer》给出了两种实现算法:
算法1:采用Partition加递归法,该算法可以说是快速排序和二分查找的有机结合。算法的时间复杂度为O(n),缺点在于在修改Partition的过程中会修改原数组的值。
算法2:采用top-k算法。如果要找最小的K个数,我们才用一个含有K个值的大顶堆;如果要找最大的K个数,我们采用小顶堆。该算法的时间复杂度为O(nlogK),是一种比较好的算法,启发于堆排序。...
分类:
其他好文 时间:
2014-08-06 23:04:12
阅读次数:
333
题目来源:剑指offer之寻找丑数 与 待字闺中之序列生成分析
两个题目其实是同一个问题,所有放在一起,算是总结一下,题目如下:
给定一个表达式2^i*2^j,其中i,j为非负整数。请找到一种方法,生成如下序列:
2^0 * 5^0 = 1
2^1 * 5^0 = 2
2^2 * 5^0 = 4
2^0 * 5^1 = 5
2^3 * 5^0 = 8
2^1 * 5^1 = 10
2...
分类:
其他好文 时间:
2014-08-06 14:47:01
阅读次数:
132