码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode--Remove Duplicates from Sorted Array

时间:2014-10-26 11:34:46      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   sp   div   on   

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 A = [1,1,2],

Your function should return length = 2, and A is now [1,2]

问题:

  把给定数组中重复的值去掉,并且返回去重后数组长度,注意题目要求不能再定义另一个数组,所以结果还保存在输入数组内。

思路:

  从前到后两两进行比较,如果不等,就存入A中,相等的话就后移直到每次找到不等的值保存结果,最后用新的结果数组的索引记录长度。

  例如数组[1,2,2,3,4,5,5,6]

  首先比较定义result=1,A[result++]用来保存结果数组。

  1!=2  所以 A[result]为A[1],所以A[1]=2,另result++后result==2;

  2==2 所以 不保存,继续向后循环比较。

  2!=3  所以 A[result]为A[2],所以A[2]=3,另result++后result==3‘

  .......

  循环直到结束,result为新数组长度,A为去重后数组

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

 

LeetCode--Remove Duplicates from Sorted Array

标签:style   blog   color   io   ar   for   sp   div   on   

原文地址:http://www.cnblogs.com/zhoujunfu/p/4051743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!