简单-删除排序数组中的重复项

  • 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

  • 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 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
你不需要考虑数组中超出新长度后面的元素。

func removeDuplicates(nums []int) int {
    if len(nums) == 0 {
        return 0
    }
    i := 0
    for j := 1; j < len(nums); j++ {
        if nums[j] != nums[i] {
            i++
            nums[i] = nums[j]
        }
    }
    return i + 1
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一年里的大部分时间里,“回家”似乎是一颗被埋在心底的种子。每每疲惫或失意时,才有些委屈的泪水默默浇灌。然而春节的临...
    孑颜的乌托邦阅读 2,738评论 0 4
  • 扎西是一个小城,但还延续着乡下人赶场的习惯,三天一场。 每到这天,十里八乡的人们都会赶来这里。他们大多背着背篼,背...
    树海云天阅读 3,118评论 0 0
  • 昨日溪边树 夏雨又滂沱 著我今日衫 唱我昔日歌 良朋今日少 旧友昔日多 忍看来时路 泪落已成河
    封狼居胥阅读 1,267评论 3 2
  • 偶然间在朋友圈看到师姐晒出给孩子读的绘本,那时候自己的孩子才一岁,刚开始准备入手绘本,见她说还不错,适逢六一大促,...
    瘦妈咪阅读 3,486评论 0 0
  • 《从理论到实践,埋点专车费用明细模块》在简书首页、人人都是产品经理等各大媒体取得了不错的反响。正所谓授人以鱼不如授...
    Mr_Quan阅读 4,937评论 0 9