Easy-题目29:26. Remove Duplicates from Sorted Array

转载 2016年05月30日 20:13:34

题目原文:
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn’t matter what you leave beyond the new length.
题目大意:
给一个按序排列好的数组,在原位上删除相同元素,只留下一个,并返回新的长度。
不要使用新空间。
例如,原数组为[1,1,2]则返回2,并把原数组修改为[1,2].在新长度以后的数字是不用考虑的。
题目分析:
吸取上题经验之后,使用双指针,其中“指针”i代表当前扫描的位置,“指针”count指向要插入的位置。每次比较i和i-1下标对应元素是否相同,若相同则i是冗余的,直接跳过,否则count指针对应元素记录下来当前数值,并右移count。i扫完后count就代表不重复数字的个数。
源码:(language:java)

public class Solution {
    public int removeDuplicates(int[] A) {
        int len = A.length;
        if (len == 0)
            return 0;
        int count = 1;
        for (int i = 1; i < len; i++) {
            if (A[i] != A[i - 1]) 
                A[count++] = A[i];
        }
        return count;
    }
}

成绩:
1ms,beats 54.30%,众数2ms,46.31%
cmershen的碎碎念:
本题的i“指针”是与i-1作比较,因此i从1开始遍历以防止数组越界。
严格而言,i和count是int类型,而不是指针(int*类型),且java中没有指针。但i和count起到了类似于C语言指针的作用。

Remove Duplicates from Sorted Array——移除排序数组中重复元素

Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such tha...
  • suibianshen2012
  • suibianshen2012
  • 2016年08月17日 23:09
  • 240

Leetcode全数组问题

目录 1、编号2 Median of Two Sorted Arrays There are two sorted arrays A and B of size m and n respe...
  • wangxiaojun911
  • wangxiaojun911
  • 2014年02月06日 03:32
  • 6363

Remove Duplicates from Sorted List II 移除重复元素和其本身(重重)

题目: 点击打开链接 解答: 设置一个flag标志 代表当前元素是否是重复元素 如果是重复元素 在...
  • skyoceanlover
  • skyoceanlover
  • 2014年08月29日 20:49
  • 281

Remove Duplicates from Sorted List(去除有序链表中的重复元素)

Given a sorted linked list, delete all duplicates such that each element appear only once.(给定一个有序链表,...
  • ajiangfan
  • ajiangfan
  • 2016年10月12日 11:17
  • 247

Remove Duplicates from Sorted Array基本处理方法和集中优质解法解析

今天做了LeetCode的习题26,题目的目的是将排好序的序列中的重复元素去掉。 这道题的目的就是在排好序的数组中删除重复元素。判断元素是否重复不会太难,因为数组是排好序的,难的是如何对重复元素进行操...
  • yinyanting1
  • yinyanting1
  • 2017年02月22日 10:11
  • 155

CareerCup之2.1无序链表删除重复元素

【题目】 原文: 2.1 Write code to remove duplicates from an unsorted linked list. FOLLOW UP H...
  • SunnyYoona
  • SunnyYoona
  • 2014年05月18日 17:08
  • 1932

Remove Duplicates from Sorted Array II 从有序数组里移除重复出现元素,最多重复出现2次 @LeetCode

这是一类典型的题,思路是,一开始可以再开一个辅助数组,这样会更直观一些。如果新数组改变不会影响原数组,则可以合并起来,如本题。 package Level2; import java.util...
  • hellobinfeng
  • hellobinfeng
  • 2013年10月20日 12:55
  • 4290

【java集合框架源码剖析系列】java源码剖析之TreeMap

注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本。本博客将从源码角度带领大家学习关于ArrayList的知识。 一TreeMap的定义: public class TreeMap...
  • htq__
  • htq__
  • 2016年04月04日 09:20
  • 1416

【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】

【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月24日 07:01
  • 2333

Swift 为Array添加remove方法遇到的问题

在使用Swift的Array的时候发现没有removeObject方法,出于使用原生类型的考虑不打算换成NSMutableArray,于是在网上找到解决方式如下: 为Array类添加扩展 exte...
  • we7ss
  • we7ss
  • 2017年04月17日 17:43
  • 625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Easy-题目29:26. Remove Duplicates from Sorted Array
举报原因:
原因补充:

(最多只允许输入30个字)