Re: [閒聊] 每日leetcode已回收
蝦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 []
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.146.144 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1720843000.A.293.html
推
07/13 11:58,
1年前
, 1F
07/13 11:58, 1F
推
07/13 12:00,
1年前
, 2F
07/13 12:00, 2F
推
07/13 12:00,
1年前
, 3F
07/13 12:00, 3F
→
07/13 12:01,
1年前
, 4F
07/13 12:01, 4F
推
07/13 12:01,
1年前
, 5F
07/13 12:01, 5F
→
07/13 12:01,
1年前
, 6F
07/13 12:01, 6F
→
07/13 12:02,
1年前
, 7F
07/13 12:02, 7F
→
07/13 12:05,
1年前
, 8F
07/13 12:05, 8F
討論串 (同標題文章)
完整討論串 (本文為第 486 之 1553 篇):