题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 解法:假设将数组排序,因为所求数字出现次数超过一半,则arr[n/2]即为...
题目:输入一个整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度O(n) 解法:...
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,...
题目:把n个骰子仍在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 n个骰子的点数之和最小为n,最大值为6n,...
题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从根结点开始往下一直到叶结点所经过的结点形成一条路径。 解法:
题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a s...
题目:输入两个单链表,找出它们的第一个公共结点。链表结点定义如下: 解法一:先求得两个链表的长度m、n,让长的链表先走|m-n|步,然后一起往后...
题目:用两个栈实现一个队列 解法:有两个栈A、B,入队时往A栈入,出栈时,如果B栈为空,则把A栈依次出栈入B栈,然后从B栈出。 扩展:用两个队列...
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 分析:后序遍历:左右根二叉搜索树:左子树都比根小,又子树都比根大 根据后...