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;
        }
    }
  • 相关阅读:
    git使用代理
    反汇编一个c程序
    Berkeley套接字
    ubuntu 升级
    ubuntu备份与还原
    struct socket 结构详解
    How sockets work
    wget中文乱码问题
    ubuntu配置开机启动服务
    《javascript设计模式》笔记之第五章:单体模式
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4646891.html
Copyright © 2011-2022 走看看