LeetCode刷題筆記 十一)盛最多水的容器

2021-08-19 22:24:47 字數 698 閱讀 8614

題目:給定 n 個非負整數 a

1,a2,...,a

n,每個數代表座標中的乙個點 (i, ai

) 。畫 n 條垂直線,使得垂直線 i 的兩個端點分別為 (i, ai

) 和 (i, 0)。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。

注意:你不能傾斜容器,n 至少是2。

解法1:暴力

class solution }}

return result;

}}

這種計算就是迴圈巢狀遍歷,得出最大的面積;這種在leetcode是超時的;

時間複雜度:o(n^2);

空間複雜度:o(1);

解法2:class solution {

public int maxarea(int height) {

int result = 0;

int left = 0;

int temp = 0;

int right = height.length-1;

while(leftresult ? temp : result;

if(height[left]這裡是從兩端向中間依次計算,因為計算面積取決於兩個點低的那乙個,所以把低的那乙個向中間移乙個位置,再計算。

時間複雜度:o(n);

空間複雜度:o(1);

每日程式設計(十一) leetcode刷題

題目 平衡二叉樹 題目描述 給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。分析 沒什麼可說的,雙遞迴,先...

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...

LeetCode刷題筆記

實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...