zoukankan      html  css  js  c++  java
  • [leedcode 80] 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 1122 and 3. It doesn't matter what you leave beyond the new length.

    public class Solution {
        public int removeDuplicates(int[] nums) {
            //题意与Remove Duplicates from Sorted Array不同,说明需要一个变量count代表重复的次数
            //start代表符合要求的最大索引,遍历数组时,需要与start位置上的进行比较,如果不等,直接赋值移位
            //如果相等,需要判断次数是否满足要求,如果不超过2,则依旧赋值移位,如果超过,直接continue不理会
            if(nums==null||nums.length<1) return 0;
            int start=0;
            int count=1;
            for(int i=1;i<nums.length;i++){
              if(nums[i]!=nums[start]){
                  nums[++start]=nums[i];
                  count=1;
              }else if(count<2){
                  count++;
                  nums[++start]=nums[i];
                }
            }
            return start+1;
        }
    }
  • 相关阅读:
    精益软件度量——实践者的观察与思考读书笔记三
    JS数组操作
    webpack开发环境所需要的插件
    vim 操作
    关于http的npm包
    闭包模式
    一般系统架构的设计
    工作心得
    UML知识
    express源码剖析4
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4646891.html
Copyright © 2011-2022 走看看