zoukankan      html  css  js  c++  java
  • [LeetCode] Remove Duplicates from Sorted Array II

    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].

    class Solution {
    public:
        int removeDuplicates(int A[], int n) {
            vector<int> Acopy(A,A+n);
             if(n<=2)
                 return n;
            int res = n;
            int temp = A[0];
            int tempNum = 1;
            int j = 1;
            for(int i=1;i<n;i++){
                if(Acopy[i]==temp && tempNum<2){
                    A[j++]=Acopy[i];
                   tempNum++;
                }else if(Acopy[i]==temp && tempNum>=2){
                 tempNum++;
                 res--;
                }else if(Acopy[i]!=temp){
                  temp = Acopy[i];
                  tempNum = 1;
                  A[j++]=Acopy[i];
                }
                
            
            }//end for
            return res;
        }
    };

    关键数组A中的前res个元素要变化成需要的结果。

  • 相关阅读:
    hdu 2680:Choose the best route(Dijkstra , SPFA)
    Gym
    Gym
    Gym
    常用的相似度计算
    kafka 配置
    Kafka-broker配置说明
    kafka 安装以及测试
    adaboost算法
    solr scheme配置简介
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3891161.html
Copyright © 2011-2022 走看看