為了加強自己的程式能力,因此開始記錄每天刷leetcode的解法+說明,會用Ruby
、python
和JavaScript
三個語言來解題,今天是第一天,讓我們開始吧!
題目來源:leetcode
Ruby
1 |
|
使用replace
取代,
nums1[0..m]
為取位置0..m的陣列內容,再使用 +nums2
,將兩個陣列內容組合起來,最後使用sort完成遞增排序。
Ruby蠻簡潔的!
Python
1 |
|
python和Ruby一樣簡潔,不過有稍微不同:nums1[:m]
:是指從nums1陣列中切片取出m
個元素nums1[m:] = nums2
:將nums2添加到切片後的nums1內
最後再使用sort
排序nums1[:m]
JavaScript
1 |
|
slice
arr.slice([begin[, end]])
- slice() 方法會回傳一個新陣列物件,為原陣列選擇之 begin 至 end(不含 end)部分。而原本的陣列將不會被修改。
- 使用在這裡是要刪掉num1重複的部分,插入num2
splice
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
- splice() 方法可以藉由刪除既有元素並/或加入新元素來改變一個陣列的內容。
- 在這裡是要加入num1+num2組合的內容
- 範例:
1 |
|
nums1.splice(0, m + n, ...)
將合併且排序的數組插入到nums1的開始位置,取代原有的元素,其中0是開始位置,m + n是要刪除的元素數量,…是展開運算符,用於將排序後的數組展開成單獨的元素。- 這個函數的目的是將兩個已排序的數組 nums1 和 nums2 合併,並將結果存儲在 nums1 中,同時保持排序狀態。
參考:
MDN
评论