V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

LintCode 题解 | 微软面试真题:删除排序数组中的重复数字

  •  
  •   hakunamatata11 · 2020-02-21 18:09:12 +08:00 · 785 次点击
    这是一个创建于 1591 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    [题目样例]

    样例 1:

    输入: [] 输出: 0

    样例 2:

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

    [评测与题解]

    →戳这里在线评测及查看题解

    /**
    * 本参考程序来自九章算法,由 @九章算法 提供。版权所有,转发请注明出处。
    * - 九章算法致力于帮助更多中国人找到好的工作,教师团队均来自硅谷和国内的一线大公司在职工程师。
    * - 现有的面试培训课程包括:九章算法班,系统设计班,算法强化班,Java 入门与基础算法班,Android 项目实战班,
    * - Big Data 项目实战班,算法面试高频题班, 动态规划专题班
    * - 更多详情请见官方网站: http://www.jiuzhang.com/?source=sc-v2ex-fks
    */ 
    
    public class Solution {
        public int removeDuplicates(int[] A) {
            if (A == null || A.length == 0) {
                return 0;
            }
    
            int size = 0;
            for (int i = 0; i < A.length; i++) {
                if (A[i] != A[size]) {
                    A[++size] = A[i];
                }
            }
            return size + 1;
        }
    }
    
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:28 · PVG 13:28 · LAX 22:28 · JFK 01:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.