前往
大廳
主題

LeetCode - 0179. Largest Number 解題心得

Not In My Back Yard | 2023-12-07 12:00:01 | 巴幣 0 | 人氣 84

題目連結:


題目意譯:
給定一個非負整數列表 nums,請將它們排列並組成最大可能的數字並回傳。

由於答案可能非常地大,所以你需要以字串型態回傳而不是整數型態。

限制:
1 ≦ nums.length ≦ 100
0 ≦ nums[i] ≦ 10 ^ 9



範例測資:
範例 1:
輸入: nums = [10,2]
輸出: "210"

範例 2:
輸入: nums = [3,30,34,5,9]
輸出: "9534330"


解題思維:
基本上跟這題一樣。只是因為本題給定的是非負整數,因此有可能 nums 中所有數字皆為 0。此時的應回傳之結果為 "0" 而非 "000……0"。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

ChiChi0811
最後484其實只要確認nums[0]是否為0就好ㄌ
2023-12-15 22:02:34
Not In My Back Yard
但 nums 可以是 [0, 1] 之類的東西,所以只檢查 nums[0] 不太對。
2023-12-15 22:42:07
Not In My Back Yard
可以先把 nums 由小到大排。這樣一來 nums 結尾數字就是最大值。所以檢查最大值是不是 0 即可。
2023-12-15 22:43:03
ChiChi0811
可是按照原本的比較方法排完之後[0,1]會變[1,0]。而如果nums[0]=0的話,不就一定能保證每個元素都是0ㄇ(因為不管是誰都能贏0),還是我誤會了什麼ㄌ
2023-12-15 23:14:56
Not In My Back Yard
喔,你是這個意思。如果是這樣的話,你沒有錯。
2023-12-15 23:57:22

更多創作