![](https://img-blog.csdnimg.cn/4a614a38a29f4ba39829b93b6ff155b1.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
双指针
文章平均质量分 84
双指针
呵呵哒( ̄▽ ̄)"
喜欢分享学习笔记,并不一定是正确的,阶段性的学习成果做一下记录,欢迎一起交流讨论,也希望有错误的地方可以向我提出,我会虚心接受并纠正
展开
-
leetCode 11. 盛最多水的容器 + 双指针
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。11. 盛最多水的容器 - 力扣(LeetCode)11. 盛最多水的容器 - 力扣(LeetCode)找出其中的两条线,使得它们与。原创 2023-10-19 22:04:58 · 256 阅读 · 0 评论 -
leetCode 125. 验证回文串 + 双指针
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。时间复杂度:O(∣s∣),其中 ∣s∣是字符串 s 的长度。时间复杂度:O(∣s∣),其中 ∣s∣是字符串 s 的长度。"amanaplanacanalpanama" 是回文串。在移除非字母数字字符之后,s 是一个空字符串 ""。字母和数字都属于字母数字字符。由于空字符串正着反着读都一样,所以是回文串。"raceacar" 不是回文串。函数,也可以用C++已有的。空间复杂度:O(1)空间复杂度:O(1)原创 2023-10-19 21:28:50 · 277 阅读 · 0 评论 -
leetCode 392. 判断子序列 动态规划 + 优化空间 / 双指针 等多种解法
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。动态规划,用相似思路解决复杂问题 | LeetCode:392.判断子序列_哔哩哔哩_bilibili。中寻找某一个字符成功时,每一行的最后一个数值都等于当前的。在这种情况下,你会怎样改变代码?的一个子序列,而"aec",你需要依次检查它们是否为。观察此表格我们可以发现,当。(1)动态规划 二维dp。,那么相同子序列长度就在。所以下文代码中有一句。(2)二维dp 优化空间。(3)一维dp 优化空间。原创 2023-10-19 14:50:13 · 242 阅读 · 0 评论 -
leetCode 5. 最长回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针
左边图是dp数组初始化,在填dp数组只会对右上三角进行数据更新,所以右边的图我就不画左下三角的0了。leetCode 647.回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针-CSDN博客。647. 回文子串 - 力扣(LeetCode)所以观察的时候可以瞄准这条线上的坐标,分析信息。,大家感兴趣可以看一下:。"aba" 同样是符合题意的答案。这样就可以知道一个回文子串的。2.动态规划 二维dp +是回文子串的信息记录在。是回文子串的信息记录在。是回文子串的信息记录在。原创 2023-10-17 23:13:58 · 233 阅读 · 0 评论 -
leetCode 647.回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针
左边图是dp数组初始化,在填dp数组只会对右上三角进行数据更新,所以右边的图我就不画左下三角的0了。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串_哔哩哔哩_bilibili。(2,3),(1,4),(0,5)在左对角线上,所以观察的时候可以瞄准这条线上的坐标,分析信息。6个回文子串: "a", "a", "a", "aa", "aa", "aaa"三个回文子串: "a", "b", "c"原创 2023-10-17 17:32:21 · 219 阅读 · 0 评论 -
leetCode 15.三数之和 双指针解法
这是同一个三元组(元素相同),题目的要求就相当于 i < j < k,然后我们可以枚举nums[i],这样就把问题转换成剩下的这两个数相加,它。我们讲示例一的nums排好序,可以得到 nums = [-4,-1,-1,0,1,2],-1,0,1,三数之和为0,不同的三元组是 [-1,0,1] 和 [-1,-1,2]。最后这题还有一个要求,答案中不可以包含重复的三元组。此时有两个-1都可以产生相同的三元组,怎么办呢?答案中不可以包含重复的三元组。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。原创 2023-10-09 21:47:13 · 110 阅读 · 0 评论 -
leetCode 167.两数之和 || - 输入有序数组 双指针解法
因此 index1 = 1, index2 = 2。返回 [1, 2]。因此 index1 = 1, index2 = 2。因此 index1 = 1, index2 = 3。那这样我就花费O(1)的时间,就知道了O(n)的信息。那这就是为什么能够从O(n^2)优化到O(n)。那它花费O(1)的时间就知道了O(1)的信息,因此,这个算法的时间复杂度是O(n)。这相比原来的暴力做法O(n)就是一个巨大的优化。这里的2+8=10>9,且由于是有序数组,这里的2+6=8<9,且由于是有序数组,原创 2023-10-09 19:51:27 · 194 阅读 · 0 评论