Skip to content

Latest commit

 

History

History
25 lines (24 loc) · 622 Bytes

File metadata and controls

25 lines (24 loc) · 622 Bytes
description link rank
删除有序数组中的重复项
1
func removeDuplicates(nums []int) int {
    count := len(nums)
    if count <= 1 {
        return count
    }
    duplicated := map[int]struct{}{} // using a map to find the duplicated item easily
    for i := 0; i < len(nums); {
        num := nums[i]
        if _, ok := duplicated[num]; ok {
            nums = append(nums[0:i], nums[i+1:]...)
        } else {
            duplicated[num] = struct{}{}
            i++
        }
    }
    return len(nums)
}