
剑指offer
文章平均质量分 74
题集
云的小站
我是小区保安,爱吃小熊饼干
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++-stack题型->最小栈,栈的压入与弹出,逆波兰表达式
最小栈设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()刚刚开始,我认为可以写一个栈存放数据,一个int保存最小值,但是如果最小值在栈中呗pop时,我们就找不到之前的最小值了设计双栈解决该问题mini栈的栈顶就是最小值存放栈数据中的。当我们栈pop时只需要比较是否与mini.top()是否相等,相等mini.pop(),否则不动如果多次压入多个0(最小值)我们也需要在mini栈压入0。原创 2023-05-30 19:59:25 · 882 阅读 · 0 评论 -
剑指 Offer 42. 连续子数组的最大和:C语言解法
输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。6连续子数组 [4,-1,2,1] 的和最大,为 6。根据时间复杂度的要求:所以要求我们只能遍历组一遍,所以我们的操作必须精细。这里数据我们在使用三个变量来完成题目要求;prev保存的是当前移动连续元素的最大值max保存的是目前数据最大的连续数据。i 下标在数组中移动初始化数据不可设置未0,为了防止数组中全部都是负数,使用我们初始化prev与max都为数组第一个元素。原创 2023-04-26 01:28:31 · 637 阅读 · 1 评论 -
剑指 Offer 04. 二维数组中的查找
的顺序排序也就是顺序排序却不是递减,那么就是递增观察代码,我们会发现每个元素的下右都是大于他的,而上左都是小于他的。因为如果是左上或者右下开始,数据的两边都是大于或小于原来的值就没办法查找了。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。18比20小向下超出范围,退出查找,返回false。的顺序排序也就是顺序排序却不是递减,那么就是递增。15比20小,向下一位查找。19比20小,向下一位查找。16比20小,向下一位查找。17比20小,向下一位查找。原创 2023-04-14 00:27:16 · 388 阅读 · 1 评论 -
剑指 Offer 64. 求1+2+…+n
求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。再加一个条件不可使用位运算符;这里我们会发现,几乎将所有的路都给堵死了,这里个人有两种方法解决,该问题分别是利用C++的类静态成员变量与逻辑运算符解决。原创 2023-04-10 01:35:39 · 380 阅读 · 8 评论