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