Java for LeetCode 080 Remove Duplicates from Sorted Array II

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.

解题思路:

本题方法多多,这里采用另开一个数组的方法,JAVA实现如下:

    public int removeDuplicates(int[] nums) {
		if (nums.length <= 2)
			return nums.length;
		int[] numsCopy = new int[nums.length];
		numsCopy[0] = nums[0];
		numsCopy[1] = nums[1];
		int index = 2;
		for (int i = 2; i < nums.length; i++) 
			if (nums[i] != numsCopy[index - 2]) {
				numsCopy[index] = nums[i];
				index++;
			}
		for (int i = 0; i < index; i++)
			nums[i] = numsCopy[i];
		return index;
    }

 

posted @ 2015-05-18 23:31  TonyLuis  阅读(128)  评论(0编辑  收藏  举报