精華區beta Marginalman 關於我們 聯絡資訊
179. Largest Number ## 思路 sorting 寫個compare function比較數字字串 (A+B , B+A) 然後有個corner case [0, 0, 0] -> '0' ## Code ```python from functools import cmp_to_key class Solution: def largestNumber(self, nums: List[int]) -> str: nums = list(map(str, nums)) def compare(a, b): if a + b > b + a: return 1 if a + b < b + a: return -1 return 0 nums.sort(key=cmp_to_key(compare), reverse=True) if nums[0] == '0': return '0' return ''.join(nums) ``` -- https://i.imgur.com/kyBhy6o.jpeg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 185.213.82.48 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726642178.A.20D.html
DJYOSHITAKA: 今天是這題喔 我前陣子才寫到 09/18 14:50
DJYOSHITAKA: 誰想得到== 09/18 14:50
dont: 解答的寫法是用lambda x: x*10 這我也想不到.. 09/18 14:51
JerryChungYC: cmp_to_key又是啥 剩我手做了:( 09/18 14:54
dont: 就sort的cmp在Python3被拿掉了 要用cmp_to_key包回來 09/18 14:59
JerryChungYC: 我連cmp都不知道是啥了 :( 09/18 15:00
JerryChungYC: compare喔 09/18 15:01
dont: 4 09/18 15:05