刷題(leetcode陣列相關)

2021-09-16 13:37:13 字數 1655 閱讀 3902

1.兩數之和

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

思路一.遍歷陣列中的每個數,與它後面每個數相加的結果是否等於target

var

twosum

=function

(nums, target)}}

};

思路二:遍歷陣列中的每個數,與target相減的值是否在陣列中

var

twosum

=function

(nums, target)}}

;

4.尋找兩個有序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。

請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o(log(m + n))。

你可以假設 nums1 和 nums2 不會同時為空。

思路:將兩個陣列按從小到大排序放到乙個陣列中

var

findmediansortedarrays

=function

(nums1, nums2)

else}if

(nums1.length) arr=arr.

concat

(nums1);if

(nums2.length) arr=arr.

concat

(nums2)

;var len=arr.length;

if(len%2==

0)else

};

11.盛最多水的容器

給定 n 個非負整數 a1,a2,…,an,每個數代表座標中的乙個點 (i, ai) 。在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。

說明:你不能傾斜容器,且 n 的值至少為 2。

思路一:計算每乙個高度與下乙個高度組成的面積,取最大的值

var

maxarea

=function

(height)}}

return result;

};

思路二:首先計算開頭高度和結尾高度組成的面積,然後兩邊移動計算中間部分形成的面積。

leetcode刷題筆記(四) 陣列相關的問題

1 給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。def movezeroes self,nums list int none do not return anything,modify nums in place instead.j表示下乙個非0元素...

OJ 陣列相關OJ刷題

1 原地移除陣列中所有的元素val,要求時間複雜度為o n 空間複雜度為o 1 給你乙個陣列 nums 和乙個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後陣列的新長度。不要使用額外的陣列空間,你必須僅使用 o 1 額外空間並 原地 修改輸入陣列。元素的順序可以改變。你不需...

leetcode刷題 陣列 陣列的度

給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面擁有相...