Re: [閒聊] 每日leetcode

作者: dont   2024-09-18 14:49:35
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)
```
作者: DJYOSHITAKA (Evans)   2024-09-18 14:50:00
今天是這題喔 我前陣子才寫到誰想得到==
作者: dont   2024-09-18 14:51:00
解答的寫法是用lambda x: x*10 這我也想不到..
作者: JerryChungYC (JerryChung)   2024-09-18 14:54:00
cmp_to_key又是啥 剩我手做了:(
作者: dont   2024-09-18 14:59:00
就sort的cmp在Python3被拿掉了 要用cmp_to_key包回來
作者: JerryChungYC (JerryChung)   2024-09-18 15:00:00
我連cmp都不知道是啥了 :(compare喔
作者: dont   2024-09-18 15:05:00
4

Links booklink

Contact Us: admin [ a t ] ucptt.com