首页 > 编程语言 > 详细

80. 删除有序数组中的重复项 II

时间:2021-06-19 15:09:12      阅读:27      评论:0      收藏:0      [点我收藏+]
package leetcode;

public class demo_80 {
    public int removeDuplicates(int[] nums) {
        int count=1;
        int length=nums.length;
        for(int i=1;i<length;i++) {
            //判断重复的个数
            if(nums[i]==nums[i-1]) {
                count=count+1;
            }
            else {
                //将之后的数往前移动
                if(count>2) {
                    for(int j=i;j<length;j++) {
                        nums[j-(count-2)]=nums[j];
                    }
                    //记录数组长度
                    length=length-(count-2);
                    //记录当前数组开始的位置
                    i=i-(count-2);
                }
                count=1;
            }
        }
        //如果最后面的数据重复个数也大于2,但没有数据替换,所以也要减去重复的个数
        if(count>2) {length=length-(count-2);}
        System.out.println(length);
        return length;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        demo_80 d80=new demo_80();
        int[] nums= {0,0,0,1,1,1,2,3,3};
        d80.removeDuplicates(nums);
    }

}

 

80. 删除有序数组中的重复项 II

原文:https://www.cnblogs.com/Yshun/p/14902442.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!