Re: [閒聊] 每日leetcode

作者: DJYOMIYAHINA (通通打死)   2024-07-13 11:56:38
蝦J8亂寫
最後zip unpack那邊
因為空list會出錯 搞了好久==
就先這樣了
應該很多地方可以優化
def survivedRobotsHealths(self, positions: List[int], healths: List[int],
directions: str) -> List[int]:
n = len(positions)
idx = [i+1 for i in range(n)]
positions, healths, directions, idx = zip(*sorted(zip(positions, healths,
directions, idx)))
positions, healths, directions, idx = list(positions), list(healths),
list(directions), list(idx)
print(positions)
stk = []
ans = []
for i in range(n):
if directions[i] == "R":
stk.append(i)
else:
while stk:
if healths[stk[-1]] < healths[i]:
stk.pop()
healths[i] -= 1
elif healths[stk[-1]] == healths[i]:
stk.pop()
healths[i] = 0
break
else:
healths[stk[-1]] -= 1
break
if not stk and healths[i] > 0:
ans.append(i)
ans = ans + stk
ans = [(idx[i], healths[i]) for i in ans]
if ans:
_, ans = zip(*sorted(ans))
return list(ans)
else:
return []
作者: nozomizo (希霙)   2024-07-13 11:58:00
大師
作者: a114514 (a114514)   2024-07-13 12:00:00
你們寫for迴圈都不會用掛號包起來嗎
作者: oin1104 (是oin的說)   2024-07-13 12:00:00
大師
作者: Rushia (みけねこ的鼻屎)   2024-07-13 12:01:00
寶 py沒括號
作者: sustainer123 (caster)   2024-07-13 12:01:00
哲維 這py
作者: a114514 (a114514)   2024-07-13 12:01:00
好吧 我只學過C++
作者: oin1104 (是oin的說)   2024-07-13 12:02:00
c++如果只有一行的話 好像也可以不用括號
作者: a114514 (a114514)   2024-07-13 12:05:00
是沒錯 但是我強迫症會發作

Links booklink

Contact Us: admin [ a t ] ucptt.com