- 博客(3)
- 收藏
- 关注
原创 剑指offer——包含min函数的栈
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。分析:定义一个辅助栈,保存对应元素存在时当前栈中的最小元素,即可在O(1)的时间内找到最小的数。参考代码:class Solution { public: void push(int value) { if(s_data.empty()){ s_data.push(val...
2018-02-25 14:38:13 206
原创 剑指offer——数组中出现次数超过一半的数字
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。分析: 第一种思路,把序列从小到大排个序,然后相同的数字一定是连续的,记录连续数的个数,判断其长度。时间复杂度为O(nlog(n)),时间主要用在排序上。参考代码:c...
2018-02-22 20:52:57 219
原创 剑指offer——重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:先搞清楚二叉树的四种遍历方式(先序遍历:根左右;中序遍历:左根右;后序遍历:左右根;层析遍历:由根往下一层一层的遍历),然后这个题的题意很明显,就是...
2018-02-19 22:16:20 197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人