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/

  • 相关阅读:
    黑马程序员简易聊天器笔记
    黑马程序员 最简单的浏览器
    Java 窗体布局
    黑马程序员交通系统
    黑马程序员–java 网络处理
    Swing入门级项目全程实录学习总结
    Swing入门级项目全程实录第7讲
    Swing入门级项目全程实录第3讲
    Swing入门级项目全程实录第2讲
    HTML基础教程
  • 原文地址:https://www.cnblogs.com/springfor/p/3889632.html
Copyright © 2011-2022 走看看