![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 83
玛丽亚后
新人
展开
-
算法——双指针(day4)
而这也是我们优先选择排序的原因,在排行序后二者就变为【-1,-1,0】,更容易去重。这样a与三数之和才相加才可以变为target,而在。不过这样也引发了新的问题:越界~~无非就是我们需要实时改动target的值。,这样才能与b相加得到target-a。这就是两数和的核心图解,因为按照题目规定类似于。原创 2024-07-19 18:51:15 · 310 阅读 · 0 评论 -
算法——双指针(day3)
三角形的判定很简单,任意两边之和大于第三边即可。按照正常情况,我们得判断3次才可以确认是否构成三角形。在这种选择比较大小的组合中往往蕴含着单调性,只要我们找到并利用双指针就可以节省很多时间。因为c在本来就是最大的情况下与任意一个数组合只会更大,因此不会再进行判断,最后进行一轮比较完毕后,我们再移动最大数c进行第二轮的比较,以此类推即可。我们先固定最大的数(9)充当c,然后再分别选出两端的数充当a与b(与上面同理,当我们发现有无法构成的情况时(2与7组合),,然后前进一位继续对比。然后往前一位继续对比。原创 2024-07-18 18:42:28 · 404 阅读 · 0 评论 -
算法——双指针(day2)
我们先划出一个小范围,然后尝试在该范围里面选出最大容量。我们优先选取两端数,这样可以保证长度是最长的,然后。当我们知道规律后就很简单了,列出双指针指向两端。记录每一次所指向的两个数对应的容量,然后。这里我们还是可以使用双指针的解法——快慢指针~相信大家不会陌生,两数谁小谁就先缩进一位继续比较,直到相遇。原创 2024-07-17 17:38:40 · 469 阅读 · 0 评论 -
算法——双指针(day1)
双指针核心就在于通过赋予相应的职能去划分数组,待处理区间暂且不谈,关键就在于处理区间中的非0区间和0区间,两区间做到真正的数组划分。本题核心仍是双指针,区别就在于是把从前往后的遍历改为从后往前的遍历,这种方法可以有效避免数组覆盖问题~原创 2024-07-16 11:14:03 · 951 阅读 · 0 评论