Re: [閒聊] 每日leetcode
看板Marginalman作者DJYOSHITAKA (franchouchouISBEST)時間1年前 (2024/09/18 23:23)推噓4(4推 0噓 5→)留言9則, 4人參與討論串878/1548 (看更多)
今天的
前幾天剛好寫過
我那時候直接看答案
除了a+b比b+a這個方法之外
還有一個是要把數字重複無限次來比
40 vs 40010 就要把它變成 4040404040... vs 400104001040010...
這邊40會比40010大
不過其實我想了想也不知道為啥==
然後要注意全都是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


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726673023.A.9CA.html
推
09/18 23:24,
1年前
, 1F
09/18 23:24, 1F
→
09/18 23:25,
1年前
, 2F
09/18 23:25, 2F
→
09/18 23:25,
1年前
, 3F
09/18 23:25, 3F
→
09/18 23:26,
1年前
, 4F
09/18 23:26, 4F
兩個感覺是一樣意思 但我現在也沒想清楚
推
09/18 23:28,
1年前
, 5F
09/18 23:28, 5F
推
09/18 23:30,
1年前
, 6F
09/18 23:30, 6F
推
09/19 01:31,
1年前
, 7F
09/19 01:31, 7F
→
09/19 01:31,
1年前
, 8F
09/19 01:31, 8F
→
09/19 01:31,
1年前
, 9F
09/19 01:31, 9F
我又想了一下 我講的方法跟我寫的方法 好像又不是同一個意思==
https://i.imgur.com/Ab7Qese.jpeg

還是a+b比b+a這個方法比較直接
※ 編輯: DJYOSHITAKA (125.229.37.69 臺灣), 09/19/2024 08:48:13
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 878 之 1548 篇):