优选算法大集合(待更新)
1.双指针
1.1.移动零
leetcode链接:283. 移动零 - 力扣(LeetCode)
移动零的问题我们可以将它归类为数组划分的问题,我们将数组划分为非零部分和零部分。我们会使用到双指针的算法,在这里,我们将数组的下标充当指针。
图片中有dest和cur两个指针,cur从左到右扫描数组,遍历数组,dest是已处理的区间内,非零元素的最后一个位置。当cur遇到非零元素时,就与dest位置的元素交换,直至cur遍历完数组。
leetcode链接:283. 移动零 - 力扣(LeetCode)
移动零的问题我们可以将它归类为数组划分的问题,我们将数组划分为非零部分和零部分。我们会使用到双指针的算法,在这里,我们将数组的下标充当指针。
图片中有dest和cur两个指针,cur从左到右扫描数组,遍历数组,dest是已处理的区间内,非零元素的最后一个位置。当cur遇到非零元素时,就与dest位置的元素交换,直至cur遍历完数组。