如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
hakunamatata11
V2EX  ›  推广

阿里巴巴高频题:删除排序数组中的重复数字

  •  
  •   hakunamatata11 · Jan 9, 2020 · 1326 views
    This topic created in 2342 days ago, the information mentioned may be changed or developed.

    专栏 | 九章算法 网址 | www.jiuzhang.com/?utm_source=sc-csdn-fks

    题目描述

    给定一个排序数组,在原数组中“删除”重复出现的数字,使得每个元素只出现一次,并且返回“新”数组的长度。

    不要使用额外的数组空间,必须在不使用额外空间的条件下原地完成。

    样例

    样例 1: 输入: [] 输出: 0

    样例 2: 输入: [1,1,2] 输出: 2 解释: 数字只出现一次的数组为: [1,2]

    题目解析

    由于有序,所以相同的数字排在一起。

    用一个游标变量指向已经去重的部分的下一个空位,只要 a[i] != a[i-1]a[i]!=a[i−1],就将 a[i]填入之前的空位。

    遍历一次数组,将不重复元素保留,重复元素被覆盖,最后删除末尾剩余的元素即可。

    参考代码

    最后,送一波免费的算法课资源~

    背包四讲这门原价$199 的课程,现在:

    戳我免费试听后,加九章-Sunny 微信号:jiuzhang15,回复「 V2EX 背包」+试听截图即可获得全额抵价券,0 元听课

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1128 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:04 · PVG 07:04 · LAX 16:04 · JFK 19:04
    ♥ Do have faith in what you're doing.