11、満たされたほとんどの水コンテナ

1、タイトル

ここに画像を挿入説明

2.ソリューション

2.1暴力行為

列挙されたすべての可能性、及び計算値の点と終了点を開始し、最大値を見つけること。
ルール計算:Math.min(開始、終了)*(JI);

class Solution {
    public int maxArea(int[] height) {
        int len = height.length;
        int maxVal = 0;
        for (int i = 0; i < len; i++)
            for (int j = i + 1; j < len; j++) {
                maxVal = Math.max(maxVal, Math.min(height[i], height[j]) * (j - i));
            }
        return maxVal;
    }
}

O(N ^ 2)()N *(N-1/2から算出)、O(1)の空間的な複雑さの時間複雑

指2.2ペア

幅が十分な長さであることを保証するために十分な長さMINVAL *(JI)、十分な長さの長さを確保するために、だけでなく、幅が十分な長さであることを確実にするためだけでなく、その両側からあなたのダブルポインタを使用ので、(JI)を数え、小さい側のその後、幅幅側の大きな動きに起因します。

class Solution {
    public int maxArea(int[] height) {
        int i = 0, j = height.length - 1, maxVal = 0;
        // 至少两条
        while (j > i) {
            maxVal = Math.max(maxVal, Math.min(height[i], height[j]) * (j - i));
            if (height[i] > height[j]) {
                --j;
            } else {
                ++i;
            }
        }
        return maxVal;
    }
}

O(N)の時間計算量は、空間的複雑度はO(1)

公開された23元の記事 ウォンの賞賛0 ビュー218

おすすめ

転載: blog.csdn.net/wuprogrammer/article/details/104108824