原文:剑指offer 面试39题

面试 题: 题目:数组中出现次数超过一半的数字 题:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为 的数组 , , , , , , , , 。由于数字 在数组中出现了 次,超过数组长度的一半,因此输出 。如果不存在则输出 。 解题思路:根据数组特点找出时间复杂度为O n 的算法。因为该数字出现次数比其他所有数字出现的次数之和还要多,所有要找的数字肯定是最后一次把次 ...

2018-06-25 09:34 0 815 推荐指数:

查看详情

offer 面试4

面试4: 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题代码一:二层遍历,时间并不是最优 解题关键:从右上角或者左下角开始。 解题代码二: ...

Tue Jun 12 18:28:00 CST 2018 0 1728
offer 面试7

面试7: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路:递归实现 解题 ...

Tue Jun 12 23:42:00 CST 2018 0 1493
offer 面试9

面试9: 题目:用两个栈实现队列 题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路:有两个栈stackA,stackB,A为入栈,B为出栈的。入栈时,直接进入A即可,出栈时,先判断B中是否有元素,如果没有肯定不能pop(),应将A中所 ...

Wed Jun 13 00:53:00 CST 2018 0 1161
offer 面试8

面试8: 题目:二叉树的下一个节点 题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路:详见offer P65页 解题代码: ...

Wed Jun 13 00:29:00 CST 2018 0 1150
offer 面试3

面试3:数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个 ...

Wed Jun 27 16:45:00 CST 2018 0 3081
offer 面试5

面试5: 题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法一: 方法二: 方法三: offer解法:①先计算源字符串数组 ...

Tue Jun 12 19:00:00 CST 2018 0 1491
offer 面试6

面试6: 题目:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 解题代码: ...

Tue Jun 12 19:26:00 CST 2018 0 1555
offer 面试10

面试10: 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 n=0时,f(n)=0 n=1时,f(n)=1 n>1时,f(n)=f(n-1)+f(n-2) 解题代码一:基于循环(推荐) 代码如下: 解题代码 ...

Fri Jun 15 18:03:00 CST 2018 0 1178
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM