码迷,mamicode.com
首页 >  
搜索关键字:剑指offer 面试题17    ( 3728个结果
剑指offer-第二章算法之斐波拉契数列(青蛙跳台阶)
递归与循环递归:在一个函数的内部调用这个函数。本质:把一个问题分解为两个,或者多个小问题(多个小问题相互重叠的部分,会存在重复的计算)优点:简洁,易于实现。缺点:时间和空间消耗严重,如果递归调用的层级太多,就会超出栈容量。循环:通过设置计算的初始值及终止条件,在一个范围内重复运算。斐波拉契数列题目一...
分类:编程语言   时间:2015-05-21 12:28:14    阅读次数:167
剑指offer-第二章排序之年龄排序
题目:对某个公司的人的年龄(0-99)进行排序,该公司的总人数为几万人。要求时间复杂度为O(n),可以辅助O(n)的空间。思路:实现函数为void SortAge(int ages[],int len).辅助空间为一个整型数组timesOfAge[100],用来存放每个个年龄的人数(当满足i=0时候...
分类:编程语言   时间:2015-05-18 22:33:42    阅读次数:132
剑指offer—第二章算法之快速排序
算法:排序和查找(二分查找,归并排序,快速排序),位运算等。查找:顺序查找,哈希查找,二叉排序树查找,哈希表。二分查找可以解决:"旋转数组中的最小数字","数字在排序数组出现的次数"等问题。哈希表:优点:O(1)时间内查找一个元素的效率最高。缺点:需要额外的空间来实现哈希表。二叉排序树查找:对应二查...
分类:编程语言   时间:2015-05-18 22:33:39    阅读次数:280
剑指offer-第二章数据结构(数组,字符串,链表,树,栈与队列)及例题
一、数组(最简单的数据结构)定义:占据一块连续内存并按照顺序存储数据。创建时先指定大小,分配内存。优点:时间效率高。实现简单的hash(下标为key,对应的数据为value)缺点:空间效率差。如果我们只在数组中存一个数字,也先分配所有的内存。扩展:动态数组(解决空间效率差),手段:扩容后,复制内容到...
分类:编程语言   时间:2015-05-18 12:33:56    阅读次数:202
【剑指offer】包括min函数的栈
转载请注明出处:http://blog.csdn.net/ns_code/article/details/26064213 剑指offer上的第21题,之前在Cracking the Coding interview上做过,思路參考这里,这次写了測试函数,在九度OJ上測试通过。题目描写叙述:定义栈....
分类:其他好文   时间:2015-05-15 15:18:46    阅读次数:196
剑指offer 面试题36—数组中的逆序对
题目: 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如在数组{7,5,6,4}中一共存在5对逆序对,分别是(7,6),(7,5),(7,4),(6,4),(5,4) 基本思想: 解法一:O(n^2) 最简单的想法就是遍历每一个元素,让其与后面的元素对比,如果大于则count++,但是这样的时间复...
分类:编程语言   时间:2015-05-12 11:37:44    阅读次数:151
【剑指offer】打印1到最大的n位数
题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的3位数即999。 此题很容易误入陷阱! //第一次解法,不幸调入陷阱 void print(int n) { if (n<1) { printf("Invalid Input!\n"); return; } long maxNum=(int)pow(10.0,n);//如果n很大,不...
分类:其他好文   时间:2015-05-12 00:11:43    阅读次数:128
简直offer之链表的插入和删除
在插入和删除链表的时候一定要注意不要让链表断了,另外要特别注意对头结点的单独考虑参考剑指offer上第50页删除给定值的结点的代码。得知,要删除一个节点必须知道该节点的前一个节点。书上的代码使用pNode.next 和pNode。next.value来判断的下面把代码附上,有个问题public st...
分类:其他好文   时间:2015-05-11 23:39:01    阅读次数:156
【剑指offer】数值的整数次方
题目: 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大多数问题。 此题咋看非常easy,但是却很容易忽视底数为0以及指数为负数的情况,完整代码如下: //全局变量,当参数出错时返回true bool g_InvalidInput=false; //判断两个double型变量是否相...
分类:其他好文   时间:2015-05-10 20:34:58    阅读次数:129
剑指offer 面试题17—合并两个排序的链表
题目: 输入两个递增排序的链表,合并这两个链表并使得新链表中的节点仍然是按照递增排序的。 基本思想: 当我们得到两个链表中值较小的头结点并把它连接到已经合并的链表之后,两个链表剩余的节点依然是排序的,因此合并的步骤和之前的而不周是一样的。这就是典型的递归的过程。 #include using namespace std; ty...
分类:编程语言   时间:2015-05-10 20:32:44    阅读次数:126
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!