题目:
给你一个有序数组 nums ,请你删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。
实现方法:
使用map计数,用快慢指针方法,快指针不断加一,慢指针在计数小于出现次数时加一,再将快指针指向的数赋给慢指针指向的数。
func removeDuplicates(nums []int) int {
m := make(map[int]int)
index := 0
for i := 0; i < len(nums); i++ {
if m[nums[i]] < 2 { //由于是先判断,后加一,所以这里小于2
m[nums[i]]++
nums[index] = nums[i]
index++
}
}
return index
}
标签:力扣,index,int,nums,II,++,数组,80,指针
From: https://www.cnblogs.com/tjhzdsa/p/18049657