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语言指针的作用。

相关文章推荐

LeetCode_Easy心得:26. Remove Duplicates from Sorted Array(C语言)

26. Remove Duplicates from Sorted Array

26. Remove Duplicates from Sorted Array [easy] (Python)

题目链接https://leetcode.com/problems/remove-duplicates-from-sorted-array/题目原文 Given a sorted array, r...

LeetCode笔记:26. Remove Duplicates from Sorted Array

固定内存下删除有序数组中重复的数字

26. Remove Duplicates from Sorted Array(java)

26. Remove Duplicates from Sorted Array(java)

LeetCode 26: Remove Duplicates from Sorted Array

LeedCode 26: Remove Duplicates from Sorted Array的三种解题思路

Leetcode NO.26 Remove Duplicates from Sorted Array

本题题目要求如下: Given a sorted array, remove the duplicates in place such that each element appear only ...

LeetCode 26. Remove Duplicates from Sorted Array

题目: Given a sorted array, remove the duplicates in place such that each element appear only onc...

LeetCode OJ 26 Remove Duplicates from Sorted Array

毕设做累了,无聊刷个题压压惊。今天是第一次做leetcode的题目,做题顺序按照分类来做。 该题分类为线性表,题目难度为简单。 Given a sorted array, remove the d...

LeetCode 26_Remove Duplicates from Sorted Array

又有一段时间没有更新了,时间是非常的不够用啊,今天抽点儿时间,多刷几道吧。 这次是leetcode第26题,题目难度是属于easy的那种。并没有涉及什么高深算法,属于刚学C时练手的题目。这种题目对于...

LeetCode(26)Remove Duplicates From Sorted Array

题目如下 Given a sorted array, remove the duplicates in place such that each element appear only once an...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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