• LeetCode Remove Duplicates from Sorted Array II


    title
     描写叙述
     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]


    #include <iostream>
    
    using namespace::std;
    
    int removeDuplicates(int *A, int length){
        if(length<=2) return length;
        
        int n=2;
        for(int i=2; i < length; i++){
            // 推断仅仅要有一个不相等 那么就不符合三连等的情况
            if(A[n-2]!=A[n-1] || A[n-2]!=A[i]){
                A[n++] = A[i];
            }
        }
        return n;
    }
    
    int main(int argc, const char * argv[])
    {
    
        // insert code here...
        std::cout << "Hello, World!
    ";
        
        int n = 17+1;
        int A[]={1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,3,3};
        int resu = removeDuplicates(A, n);
        for(int i=0; i < resu; i++)
            cout << A[i] << " ";
        return 0;
    }
    


  • 相关阅读:
    jps命令
    Collection
    java.lang包中异常
    final关键字
    JVM运行时数据区域
    String详解
    哈希码
    Java虚拟机
    垃圾收集器与内存分配策略
    solr简介
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7141268.html
Copyright © 2020-2023  润新知