[Golang]力扣LeetBook—初级算法—数组—删除排序数组中的重复项

[Golang]力扣LeetBook—初级算法—数组—删除排序数组中的重复项

题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

链接力扣LeetBook—初级算法—数组—删除排序数组中的重复项.

示例 1:

输入:nums = [1,1,2]
输出:2, nums = [1,2]

示例 2:

输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]

标签:数组、双指针

解题思路:对称交换即

主要Go代码如下:

func removeDuplicates(nums []int) int {
    var i=0
	if len(nums) == 0 {
		return 0
	} else {
		for j := 1; j<len(nums); j++ {
			if nums[j] != nums[i] {
				i = i + 1
				nums[i] = nums[j]
			}
		}
		return i+1
	}
}

提交截图
在这里插入图片描述

posted @ 2022-01-15 15:06  Dancing-Pierre  阅读(13)  评论(0)    收藏  举报  来源