zoukankan      html  css  js  c++  java
  • Remove Duplicates from Sorted Array II leetcode java

    题目:

    Follow up for "Remove Duplicates":
    What if duplicates are allowed at most twice?

    For example,
    Given sorted array A = [1,1,1,2,2,3],

    Your function should return length = 5, and A is now [1,1,2,2,3].

    题解:

    之前是不允许有重复的。

    现在是可以最多允许2个一样的元素。

    然后删除duplicate,返回长度。

    删除duplicate的方法就是指针的操作。具体方法见代码。

    代码如下:

     1     public int removeDuplicates(int[] A) {
     2         if (A.length <= 2)
     3             return A.length;
     4  
     5         int prev = 1; // point to previous
     6         int curr = 2; // point to current
     7  
     8         while (curr < A.length) {
     9             if (A[curr] == A[prev] && A[curr] == A[prev - 1]) {
    10                 curr++;
    11             } else {
    12                 prev++;
    13                 A[prev] = A[curr];
    14                 curr++;
    15             }
    16         }
    17  
    18         return prev + 1;
    19     }

     Reference:http://www.programcreek.com/2013/01/leetcode-remove-duplicates-from-sorted-array-ii-java/

  • 相关阅读:
    Git安装(操作篇)
    Git安装
    ES6基础练习
    SVN的安装与搭建及使用
    解决SVN文件不显示绿色小钩图标问题
    混入(mixin)
    ref属性与props配置项
    docker-compose部署 Mysql 8.0 主从模式基于GTID
    项目统一处理
    Docker Compose实战
  • 原文地址:https://www.cnblogs.com/springfor/p/3889632.html
Copyright © 2011-2022 走看看