為了加強自己的程式能力,因此開始記錄每天刷leetcode的解法+說明,會用Ruby
、python
和JavaScript
三個語言來解題,今天是第七天,讓我們開始吧!
![](/images/leetcode-remove-duplicates-from-sorted-array/1.png)
題目來源:leetcode
此題目雖然看似簡單,但需要注意一個小細節,除了最後回傳不重複的數有幾個外,原始傳入的nums
也需要改變,這樣才會通過測驗!
Ruby
1 |
|
見證Ruby黑魔法的時刻٩(^ᴗ^)۶,這邊特別注意的是,uniq!
為什麼要使用驚嘆號!
呢?因為使用驚嘆號才能更改原始的nums
,如果使用uniq
則是回傳新的Array
Python
1 |
|
Python的話可以使用set(nums)
,set 是一組無序且沒有重複的元素,所以我外面使用了sorted
排序。
因為要改變nums
的值,所以使用nums[:]
詳情可參考:Python docs
JavaScript
1 |
|
JS定義set
為:集合(set)中的元素只会出现一次,即集合中的元素是唯一的。
,可以參考:MDN,但因為要改變nums
的數,因此需要使用splice
,移除或者替换已存在的元素和/或添加新元素就地改變一个Array的内容。
最後答案就出來了!
评论