码迷,mamicode.com
首页 >  
搜索关键字:剑指offer 面试题17    ( 3728个结果
剑指Offer面试题7(Java版):用两个栈实现队列与用两个队列实现栈
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 我们通过一个具体的例子来分析该队列插入和删除元素的过程。首先插入一个元素a,不妨先把它插入到stack1,此时stack1 中的元素有{a},stack2为空。再压入两个元素b和c,还是插入到stack1中,此时stack1中的元素有...
分类:编程语言   时间:2015-07-27 21:07:37    阅读次数:5029
【剑指offer】Q32:从1至n整1出现的次数(python)
def q32(n, len): if n 0: if n >= 1 and n 1: total += 10**(len - 1) else: total += p2 total += 10 **(len -2) * h * (len - 1) return total ...
分类:编程语言   时间:2015-07-27 20:25:08    阅读次数:241
(剑指Offer)面试题40:数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:这道题的简单版本是除了一个数字之外,其他数字都出现了两次,这个很简单,将所有的数异或一遍就得到了那个数字。如果不考虑空间复杂度的话,通过hash表统计的方法可以得到这两个数字;但如果空间复杂度要求...
分类:编程语言   时间:2015-07-26 22:16:34    阅读次数:169
剑指offer——链表相关问题总结
首先统一链表的数据结构为: struct ListNode { int val; struct ListNode *next; ListNode(int x) :val(x), next(NULL) {} }; 题目一:从尾到头打印链表:输入一个链表,从尾到头打印链表每个节点的值。 分析: 难点在于链表只有指向后继的指针,没有指向前驱的指针。 转换思路,结合栈后...
分类:其他好文   时间:2015-07-26 19:13:26    阅读次数:196
(剑指Offer)面试题38:数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数。思路:1、顺序遍历顺序扫描一遍数组,统计该数字出现的次数。时间复杂度:O(n)2、二分查找假设我们需要找的数字是k,那么就需要找到数组中的第一个k和最后一个k出现的位置。如何通过二分查找得到第一个k的位置呢?取数组中间的数字与k作比较,如果该数字比k大,那么...
分类:编程语言   时间:2015-07-26 18:56:48    阅读次数:142
24 - 判断是否是二叉搜索树的后序遍历序列
剑指offer 24题 题目描述:http://ac.jobdu.com/problem.php?pid=1367 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。搜索二叉树的特征: 左子树的节点小于根 右子树的节点大于根 任意子树都是搜索二叉树 而后序遍历时,左右根,序列的最后一项总是根。在序列中找到根...
分类:其他好文   时间:2015-07-26 17:28:12    阅读次数:189
(剑指Offer)面试题36:数组中的逆序对
题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:1、顺序扫描顺序扫描整个数组,每扫描到一个数字,就将该数字跟后面的数字比较,如果大于的话,则这两个数字构成了逆序对。(比较简单,这里就不贴出代码)时间复杂度:O(n...
分类:编程语言   时间:2015-07-26 12:25:40    阅读次数:156
(剑指Offer)面试题33:把数组排成最小的数
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:1、全排列求出数组中所有数字的全排列,然后把每个全排列拼起来,求出拼出来的数字的最大值。2、定义新的排序规则如果...
分类:编程语言   时间:2015-07-25 16:36:42    阅读次数:141
【剑指offer】两个队列实现堆栈
转载请注明出处:http://blog.csdn.net/ns_code/article/details/25076689 题目:用两个队列模拟一个栈,即用两个队列的出队和入队操作。来实现栈的出栈和入栈操作。 思路:略微画下草图。便不难想出该题的解决方法。思路例如以下: 如果有两个队列Q1和Q...
分类:其他好文   时间:2015-07-25 16:36:14    阅读次数:136
剑指offer 面试题14 :调整数组的顺序使奇数位于偶数的前面
#include void oddAheadOfEven(int array[],int start,int end){ int lastOddIndex = start-1; for(int index=start;index<=end;index++) { if(...
分类:编程语言   时间:2015-07-25 15:10:29    阅读次数:109
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!