作者DJYOSHITAKA (franchouchouISBEST)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Wed Sep 18 23:23:39 2024
今天的
前幾天剛好寫過
我那時候直接看答案
簡單來說就是要把數字重複無限次來比
40 vs 40010 就要把它變成 4040404040... vs 400104001040010...
這邊40會比40010大
因為40後面是空的 可能塞任何數字
而40010 扣掉前面40 後面已經確定是010 不確定性較少 所以比較小
大概是這樣
然後要注意全都是0的case
好像可以用ans[0]=='0'來判斷
def largestNumber(self, nums: List[int]) -> str:
def compare(s1, s2):
return int(str(s1)+str(s2))-int(str(s2)+str(s1))
ans = "".join([str(s) for s in sorted(nums, key=cmp_to_key(compare),
reverse=True)])
if ans.count('0') == len(ans):
return "0"
else:
return ans
然後又多寫一題
732. My Calendar III
算是經典的meeting room題目吧
直接sortedlist 又拿下一個hard
from sortedcontainers import SortedList
class MyCalendarThree:
def __init__(self):
self.s = SortedList([])
def book(self, startTime: int, endTime: int) -> int:
self.s.add((startTime,1))
self.s.add((endTime,-1))
ans, cur = 0, 0
for _,num in self.s:
cur += num
ans = max(ans, cur)
return ans
--
https://i.imgur.com/QaQrl0t.jpeg
https://i.imgur.com/yXpuYNA.jpeg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726673023.A.9CA.html
推 oin1104: 大師 09/18 23:24
→ oin1104: 不用無限次 只要s1+s2 或是s2+s1 兩個相反 看誰比較大應 09/18 23:25
→ oin1104: 該就可以了 09/18 23:25
→ oin1104: 幹你就是這樣寫的 我哭了 09/18 23:26
兩個感覺是一樣意思 但我現在也沒想清楚
推 sustainer123: 大師 還是不太懂 明天看解答 09/18 23:28
推 Chricey: 關節痛按摩有效嗎? 09/18 23:28 推 Che31128: 大師 09/18 23:30
※ 編輯: DJYOSHITAKA (125.229.37.69 臺灣), 09/18/2024 23:37:10