Remove Duplicates from Sorted Array II(java版)

来源:互联网 发布:淘宝大学电商总裁班 编辑:程序博客网 时间:2024/06/08 11:08

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array nums = [1,1,1,2,2,3],

Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.

Subscribe to see which companies asked this question.


移除重复的元素,可以允许最多两次重复元素的存在;与上一题相比,可以用一个计数器count,记录重复的个数,重复个数大于2的情况下,则移除元素。

public class RemoveDuplicates2 {    public static void main(String[] args) {        int[] nums = {1,1,1,1,1,3};        RemoveDuplicates2 r=new RemoveDuplicates2();        System.out.println(r.removeDuplicates(nums));    }    public int removeDuplicates(int[] nums) {        if (nums.length == 0) {            return 0;        }        int j = 0;        int count = 0;        for (int i = 1; i < nums.length; i++) {            if (nums[j] == nums[i]) {                count++;                if (count <2) {                    nums[++j] = nums[i];                }            }else {                nums[++j] = nums[i];                count = 0;            }        }        return j + 1;    }}

0 0
原创粉丝点击