leetcode
再困也得吃
这个作者很懒,什么都没留下…
展开
-
leetcode——旋转数列问题集合总结
旋转数列问题是个很经典的二分查找问题,这里将其总结一下:什么是旋转数列?首先定义旋转数列:原数组为排序数列一次旋转操作为:将数列首元素插入数列末尾经过n次旋转操作的排序数列数组称为旋转数组,其中数组可能会有重复数在leetcode中共有如下几题:189:旋转数组——实现旋转数组的操作796:旋转字符串——实现旋转数组的操作,并与目标字符串比对33:搜索旋转数组——没有重复数...原创 2020-02-13 23:37:54 · 699 阅读 · 0 评论 -
leetcode——广度优先算法(BFS)总结 & 模板
什么是广度优先算法?广度优先搜索一层一层地进行遍历,每层遍历都以上一层遍历的结果作为起点,遍历一个距离能访问到的所有节点。但是BFS访问节点代价为1,即为对无权图求解最短路径。BFS特性广度优先算法需要满足以下几个条件:一层一层地进行遍历遍历一个距离能访问到的所有节点遍历过的节点不能再次被遍历所以针对以上条件,我们需要有如下对策:设计队列,对每层元素依次搜索通过分析问题发现...原创 2020-02-08 18:11:57 · 2090 阅读 · 1 评论 -
leetcode——区间重叠问题(贪心算法)&对原始数组排序的思考
区间重叠问题区域重叠问题是贪心算法常见题目,其类型通常是N×2N×2N×2或者N×MiN×M_{i}N×Mi的数组,进行一些合并,删除等操作。常见题型:合并区间:leetcode 56(合并区间)leetcode 763(先统计,再合并区间)计算不重叠区间的个数:leetcode 435(不重叠区间个数)leetcode 452(相邻区间视为重叠区间)合并区间问...原创 2020-02-05 17:54:51 · 2688 阅读 · 0 评论 -
leetcode——非递减数列
题目序号:665题目 :给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。分析:已知最终得到的数据每一项一定大于等于前一项,即:nums[i−1]<=nums[i]<=nums[i+1],0<i<len(nums)−1nums[i-1]<=nums[i]<=nums[i+1],0<i&l...原创 2020-02-04 22:00:16 · 374 阅读 · 0 评论