双指针算法
文章平均质量分 59
以算法题为基础进行逐步练习
xxwsix
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
双指针算法3盛最多雨水LeetCode
如果我先从最左和最右开始,如果我想移动两边的一边去寻找更大的可能,我马上是不是应该去移动较短的一边,而不是移动较大的一边,才有可能更大对吗,这个是这道题的核心逻辑;在写代码之前我们先了解一下短板效应和这道题结合,首先我们目标是盛最多水,相当于找最大面积;一、题目回顾完,我们可以将题目转化成求最大面积,那这个最大面积怎么求,我们以上图为例就是考。思路:枚举所有二元组 (i, j) 并计算面积,时间复杂度 O(n²)。二、你给出的代码:暴力 O(n²)三、更优思路:双指针(O(n))原创 2025-08-20 20:57:52 · 378 阅读 · 0 评论 -
双指针算法入门2 两数之和 || 输入有序数组
这个题目我看到,会发现非常简单,如果我使用两个for循环进行嵌套可以把这个题目不过老样子,我们先看程序,如果有点思路了,我们看一下这个算法思路创建两个变量,分别是l(left简写)和r(right简写)这个题目,一定运用它是有序数组哦,打个比方,找,那么,那如果要继续在数组里找有可能的结果,是不是,因为的话,是不是下一个数字就变成7了不是更大了吗,所以只能。原创 2025-08-17 16:15:38 · 167 阅读 · 0 评论 -
双指针算法入门,LeetCode移动0
遇到这个题目,刚开始想的直接遍历一遍,将全部非0数字存进新数组里!我们现在只看这个循环他干了什么事我们以{0,1,0,3,12}这个数组来看。发现非 0 → 搬到 nums[tmp_index] 即 nums[0]发现非 0 → 搬到 nums[tmp_index] 即 nums[1]发现非 0 → 搬到 nums[tmp_index] 即 nums[2],表示存储的非0元素的小标,只有遇到非0元素才会++(后移)下标 0 1 2 3 4。发现是 0 → 不搬。发现是 0 → 不搬。原创 2025-08-17 15:31:13 · 773 阅读 · 0 评论
分享