為了加強自己的程式能力,因此開始記錄每天刷leetcode的解法+說明,會用Ruby、python和JavaScript三個語言來解題,今天是第七天,讓我們開始吧!
題目來源: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的内容。
最後答案就出來了!
Comments