為了加強自己的程式能力,因此開始記錄每天刷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
Comments