ほとんどの水で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。 } }。