golang|LeetCode26 删除有序数组中的重复项 Go语言

【golang|LeetCode26 删除有序数组中的重复项 Go语言】https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
golang|LeetCode26 删除有序数组中的重复项 Go语言
文章图片

func removeDuplicates(nums []int) int { n := len(nums) if n<2{ return n } low := 0 fast := 0 for fast

思路:
  1. 思路一,我最先想到的直白点的方法就是,维护一个变量i,然后往后遍历,如果i和i-1是一样的,就如下的方法删除这个变量,如果不一样就i++,直到i>=len(nums)退出循环。这个思路的消耗有点大,不是很推荐。
nums[i] = append(nums[:i],nums[i+1:]...)

  1. 思路二,就是如图所示的双指针的方式,把不一样的移到数组的前面去,遍历完后只取前面部分的数组。我用这个方法提交了两次,第一次n的部分我都是直接使用len(nums)好像消耗比较大,就把数组长度用n存下来了。然后就双百了。

    推荐阅读