Remove Duplicates from Sorted Array II

来源:互联网 发布:网络试衣间 编辑:程序博客网 时间:2024/06/08 11:06

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

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

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

java

public class Solution {    /**     * @param A: a array of integers     * @return : return an integer     */    public int removeDuplicates(int[] nums) {        // write your code here        if (nums == null || nums.length == 0) {            return 0;        }        int index = 0;        int count = 0;        for (int i = 1; i < nums.length; i++) {            if (nums[index] == nums[i]) {                if (count < 1) {                    nums[++index] = nums[i];                    count++;                }            } else {                nums[++index] = nums[i];                count = 0;            }        }        return index + 1;    }}

python

class Solution:    """    @param: nums: An ineger array    @return: An integer    """    def removeDuplicates(self, nums):        # write your code here        if nums is None or len(nums) == 0:            return 0        index, count = 0, 0        for i in range(1, len(nums)):            if nums[index] == nums[i]:                if count < 1:                    index += 1                    nums[index] = nums[i]                    count += 1            else:                index += 1                nums[index] = nums[i]                count = 0        return index + 1                


原创粉丝点击