leetcode-配列

ほとんどの水で11コンテナ

//?
クラスソリューション{ 
パブリック:
    INT maxArea(ベクトル<整数>&高さ){ 
        int型maxarea = 0。
        INTはL = 0、R = height.size() - 1; 
        IF(height.size()<2)リターンmaxarea。

        一方、(L <R){ 
            maxarea = MAX(maxarea、分(高さ[L]、高さ[R])*(RL))。
            IF(高さ[L] <高さ[R])
                、L ++。
            他の
                r--の; 
        } 
                
        戻りmaxarea。
    } 
}。
//ブルートフォース--time限界突破
/ *クラスのソリューション{ 
パブリック:
    int型maxArea(ベクトル<整数>&高さ){ 
        int型のmaxarea = 0; 
        場合(height.size()<2)リターンmaxarea。
        以下のために(INT i = 0; iはheight.sizeを()< - 1; iは++){ 
            ための(int型J = I + 1、J <height.size(); J ++)
                maxarea = MAX(maxarea、分(高さ[I ]、高さ[J])*(JI))。
        } 
        戻りmaxarea。
    } 
}; / *

 

デジタル3と16 3Sum最も近いのターゲットに//最も近いです

クラスソリューション{ 
パブリック:
    INT threeSumClosest(ベクトル<整数>&NUMS、INT対象){ 
        IF(nums.size()<3)戻り0; 
        IF(nums.size()== 3)戻りNUMS [0] + NUMS [1] + NUMS [2]。
        ソート(nums.begin()、nums.end()); 
        // INT差分= ABS(NUMS [0] + NUMS [1] + NUMS [2] -target)。
        int型差分= INT_MAX。
        // int型の合計= 0、フロントエンド、RET =差分; 
        int型の合計= 0、フロントエンド、RET = 0; 
        以下のために(INT i = 0; i)は(nums.sizeを<; iは++){ 
            正面= I + 1。
            端= nums.size() - 1; 
            一方(フロント<エンド){ 
                合計= NUMS [I] + NUMS [フロント] + NUMS [END]。
                もし(合計==ターゲット)リターン・ターゲット。
                (ABS(SUM-ターゲット)<差分){もし
                    差分= ABS(和ターゲット)
                    RET =合計。
                }
                (>ターゲット合計)?end--:フロント++; 
            } 
        } 
        戻りRET。
    } 
}。

  

おすすめ

転載: www.cnblogs.com/feliz/p/11145194.html