算法
文章平均质量分 76
v216561187
这个作者很懒,什么都没留下…
展开
-
算法:移除数组中的val的所有元素---双指针[2]
本题比较简单,只需要抓住,题意要求:原地移除,原地==>结果只能输出到原数组上面,移除,则结果数组长度比原数组更短。利用结果数组从0,开始left++进行收集,而原数组使用right指针从0开始遍历,判断当前元素是否可以被收集起来。==> 目的就是收集所有符合条件的元素。原创 2023-09-09 14:30:52 · 26 阅读 · 1 评论 -
算法:删除有序数组中的重复项---双指针[3]
有序数组,剔除掉相等的,拿当前位置的元素去和前一个元素比较,即if (nums[fast]!并且 0 位置的元素早就进入结果集,需要看后面的元素是否进结果,则定义的两个指针开始判断收集的起点下标从1开始。原创 2023-09-09 14:29:29 · 24 阅读 · 1 评论 -
算法:轮转数组---循环取模运算
轮转、循环 k 步,要想到取模运算,另外需要一个新数组作为结果数组是因为如果我们不使用额外数组,我们直接将每个数字放至它最后的位置,这样被放置位置的元素会被覆盖从而丢失,所以需要一个新数组作为结果数组,最后拷贝回去原数组。原创 2023-09-09 14:27:41 · 50 阅读 · 1 评论 -
算法:数组中的最大差值---“打擂台法“
使用打擂台的思想,遍历的时候,考虑当前值是最小值,则记录最小值,否则考虑当前值是最大值,进行更新。原创 2023-09-09 14:26:10 · 67 阅读 · 0 评论 -
数组的合并--双指针[快慢指针]
本题比较简单,只需要抓住,有序递增的两个数组,直接当队列,抓最小。当然更简单的是直接把其中一个数组的全部元素存储到另外一个数组后面的空间,然后利用封装好的方法排序即可,即 Arrays.sort() 方法本题比较简单,只需要抓住,题意要求:原地移除,原地==>结果只能输出到原数组上面,移除,则结果数组长度比原数组更短。利用结果数组从0,开始left++进行收集,而原数组使用right指针从0开始遍历,判断当前元素是否可以被收集起来。==> 目的就是收集所有符合条件的元素。原创 2023-09-09 14:24:39 · 41 阅读 · 1 评论 -
算法:数组常见套路1---双指针、取模、打擂台法
本题比较简单,只需要抓住,有序递增的两个数组,直接当队列,抓最小。当然更简单的是直接把其中一个数组的全部元素存储到另外一个数组后面的空间,然后利用封装好的方法排序即可,即 Arrays.sort() 方法本题比较简单,只需要抓住,题意要求:原地移除,原地==>结果只能输出到原数组上面,移除,则结果数组长度比原数组更短。利用结果数组从0,开始left++进行收集,而原数组使用right指针从0开始遍历,判断当前元素是否可以被收集起来。==> 目的就是收集所有符合条件的元素。原创 2023-09-09 14:23:01 · 27 阅读 · 2 评论