80. 删除排序数组中的重复项 II
package main
import "fmt"
func removeDuplicates(nums []int) int {
slow :=2
for fast :=2;fast<len(nums);fast++{
if nums[fast]!=nums[slow-2]{
nums[slow]=nums[fast]
slow++
}
}
return slow
}
func main() {
fmt.Println(removeDuplicates([]int{1,1,1,2,2,3}))
}
通用模板
//通用解法, 只能重复 n 次
func removeDuplicates(nums []int, n int) int {
i, j := n, n
for ; i < len(nums); i++ {
if nums[i] != nums[j-n] {
nums[j] = nums[i]
j++
}
}
return j
}