Remove Duplicates from Sorted Array II

原创 2016年08月30日 15:58:11

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.

已排序数组,加一个变量记录下元素出现次数即可,如果是没有排序的数组,则需要引入一个hashmap来记录出现的次数。


C++

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size() <= 2)
            return nums.size();

        int index = 2;
        for(int i = 2; i < nums.size(); i++)
        {
            if(nums[i] != nums[index - 2])
                nums[index++] = nums[i];
        }
        return index;
    }
};

Java

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

Python

class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if len(nums) <= 2:
            return len(nums)

        index = 2
        for i in range(2,len(nums)):
            if nums[i] != nums[index -2]:
                nums[index] = nums[i]
                index += 1

        return index
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode080 Remove Duplicates from Sorted Array II

详细见:leetcode.com/problems/remove-duplicates-from-sorted-array-ii Java Solution: github packa...
  • zxwtry
  • zxwtry
  • 2017年04月19日 22:11
  • 77

LeetCode | Remove Duplicates from Sorted Array II(删除重复的元素2)

Remove Duplicates from Sorted Array II

LeetCode---Remove Duplicates from Sorted Array II

问题是:去掉已排序数组中重复两次超过两次的重复元素,即多于两次的时,保留两次重复元素。然后返回新的数组的大小。并不需要考虑新数组大小后边的元素是什么。...

leetcode题解-80. Remove Duplicates from Sorted Array II

题目:Follow up for "Remove Duplicates": What if duplicates are allowed at most twice?For example, Give...

Leetcode Remove Duplicates from Sorted Array I and II

题意是这样的,给你一个排好序的数组,要求生成一个新数组,里面的元素出现的次数不能大于N,如N=1,那么要求数组无重复元素,N=2,要求数组中一个元素最多出现2次,这两种情况对应题目版本 I 和 II,...
  • intwzt
  • intwzt
  • 2016年03月28日 16:18
  • 153

《leetCode》:Remove Duplicates from Sorted Array II

题目描述Follow up for "Remove Duplicates": What if duplicates are allowed at most twice?For example, Giv...

[LeetCode] Remove Duplicates from Sorted Array II [27]

移除数组中重复次数超过2次以上出现的数,但是可以允许重复2次。 这个题类似Remove Duplicates from Sorted Array,第一个想法很直接就是计数,超过2次的就忽略,依据这个思...
  • swagle
  • swagle
  • 2014年06月10日 11:53
  • 898

【LeetCode】80. Remove Duplicates from Sorted Array II解法及注释

80. Remove Duplicates from Sorted Array II Total Accepted: 71844 Total Submissions: 220521 Diff...

61. Rotate List\80. Remove Duplicates from Sorted Array II\209. Minimum Size Subarray Sum

Rotate List 题目描述 代码实现 Remove Duplicates from Sorted Array II 题目描述 代码实现 Minimum Size Subarray Sum 题目描...

LeetCode - 80. Remove Duplicates from Sorted Array II

方法一: 这一种方法是第一个想到的,因为题目中要求删除的是出现两次及其以上的元素,所以在思考的时候想到了使用HashMap来记录数组中每个元素出现的次数,对于出现次数大于2的元素就删除。删除的方法是由...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Remove Duplicates from Sorted Array II
举报原因:
原因补充:

(最多只允许输入30个字)