![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
vic_blackRabbit
这个作者很懒,什么都没留下…
展开
-
剑指offer-查找旋转数组的最小数
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路:二分查找 (1)若只有小半的数字被旋转过去,则中间数位于前半部的非递减数组内,此时中间数>=左边>...原创 2019-07-16 23:05:40 · 201 阅读 · 0 评论 -
剑指offer-包含min函数的栈(python)
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路:给保存数值的栈设置一个保存最小值的栈,两个栈长度保持相等。每次入栈时,判断当前的最小值,将其存入与该数位置对应的最小值栈中,即最后一位。这样,对于栈中的每一个数,在对应位置的最小值栈中都保存着当前位置长度的最小值。需要注意的是,出栈时,数值栈和最小值栈保持同步出栈。 代码: ...原创 2019-08-08 10:32:09 · 142 阅读 · 0 评论 -
剑指offer-栈的压入、弹出(python)
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思路:设立一个辅助栈,用来模拟序列的压入和弹出顺序。在向该辅助栈以压入顺序压入数列时,预测...原创 2019-08-08 21:47:31 · 402 阅读 · 0 评论 -
剑指offer-寻找数组中最小的k个数
堆知识点:https://www.jianshu.com/p/6b526aa481b1 解题方法:https://www.cnblogs.com/cotyb/p/5205123.html原创 2019-08-27 18:51:54 · 201 阅读 · 0 评论