删除排序数组中的重复数字 II

原创 2016年05月31日 11:23:00

跟进“删除重复数字”:如果可以允许出现两次重复将如何处理?

给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]

public class Solution {
    /**
     * @param A: a array of integers
     * @return : return an integer
     */
    public int removeDuplicates(int[] nums) {
        // write your code here
         if (nums.length == 0){
            return 0;
        }
        int n = 0;
        int count = 0;//用来做一个标记 1表示已经有>=2个出现了
        for(int i=1 ; i < nums.length; i++){
            if(nums[i] == nums[n] && count == 1){
                count += 1;//多于两个重复之后就count+略过即可
            }
            if(nums[i] == nums[n] && count == 0){
                nums[n+1] = nums[i];
                n = n+1;//遇到第一个开始重复的数字 n+1  连续重复n就不再变化
                count = 1;
            }
            
            if(nums[i] != nums[n] ){
                nums[n+1] = nums[i];
                n=n+1;
                count = 0;
            }
        }
       return n+1;
    }
}

LintCode(101)删除排序数组中的重复数字 II

题目 跟进“删除重复数字”: 如果可以允许出现两次重复将如何处理? 您在真实的面试中是否遇到过这个题?  Yes 样例 给出数组A =[...
  • fly_yr
  • fly_yr
  • 2016年05月31日 20:24
  • 3762

LintCode-删除排序数组中的重复数字 II

容易 删除排序数组中的重复数字 II 查看运行结果 30% 通过 跟进“删除重复数字”:如果可以允许出现两次重复将如何处理?您在真实的面试中是否遇到过这个题? Yes 样例 给出数组A =[1,...

删除排序链表中的重复数字 II

题目描述:给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。 样例:给出 1->2->3->3->4->4->5->null,返回 1->2->5->null;给出 1->1->1-...

LintCode(100)删除排序数组中的重复数字

题目 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 您在真实的面试中是否遇到...
  • fly_yr
  • fly_yr
  • 2016年05月31日 20:10
  • 5652

容易 删除排序数组中的重复数字

Remove Duplicates from Sorted Array -- LeetCode 分类: LeetCode2014-02-27 05:12 4789人阅读 评论(5) 收藏 举...

219. Contains Duplicate II---数组中两个重复的数字的下标最多相差k

Given an array of integers and an integer k, find out whether there are two distinct indices i and j...

删除数组中重复元素II

跟进“删除重复数字”: 如果可以允许出现两次重复将如何处理? import java.util.Scanner; /** * 跟进“删除重复数字”: 如果可以允许出现两次重复将如何处...
  • wwe4023
  • wwe4023
  • 2017年06月08日 21:13
  • 190

排序、数组——数组中重复的数字和first missing positive(桶排序)

题目:找到数组中不存在的第一个正整数。 For example, Given[1,2,0]return3, and[3,4,-1,1]return2. 要求O(N)时间复杂度,O(1)空间复...

java基础数据遍历(4)删除数组中重复数字

题目要求: 给定一个整数一维数组,其中可能有多个数字重复,请将多余重复的数字删除保留唯一一个,生成新的数组。解题思路: 1.遍历整个数组,同时创建一个等长度的标记数组。将数组中的每个数与该数前面所...

删除数组中的重复数字I

删除排序数组中的重复数字  给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例 ...
  • wwe4023
  • wwe4023
  • 2017年06月08日 21:12
  • 196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:删除排序数组中的重复数字 II
举报原因:
原因补充:

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