• [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;
        }
    }
  • 相关阅读:
    linux 网卡配置详情
    linux ftp 添加用户及权限管理
    mysql 权限管理
    linux ftp 安装及相关命令
    linux find 命令
    linux yum 安装及卸载
    linux svn 安装
    cssText方式写入css
    addLoadEvent
    mobile体验效果:增加点击后反馈
  • 原文地址:https://www.cnblogs.com/qiaomu/p/4646891.html
Copyright © 2020-2023  润新知