Re: [闲聊] LeetCode Weekly Contest 409

楼主: DJYOMIYAHINA (通通打死)   2024-08-04 12:08:52
全面溃败==
第二题就卡了好久 好白痴
最后用dijkstra过了
第三题就 始终TLE
一生就这样了
就大概知道要maintain目前shortest path
但没有找到很好的pop方法
def shortestDistanceAfterQueries(self, n: int, queries: List[List[int]]) ->
List[int]:
shortest_path = set()
for i in range(n):
shortest_path.add(i)
ans = []
dis = n-1
for start,end in queries:
# print(shortest_path)
if start in shortest_path and end in shortest_path:
remove_cnt = 0
for i in range(start+1, end):
if i in shortest_path:
shortest_path.remove(i)
remove_cnt += 1
dis -= remove_cnt
ans.append(dis)
return ans
就有想过如果有个有序的container 可以让我logN内查到要remove的start跟end就可以了
但我不知道哪来那个东西
结果看答案才知道有SortedList这种东西
什么鬼
def shortestDistanceAfterQueries(self, n: int, queries: List[List[int]]) ->
List[int]:
shortest_path = SortedList([i for i in range(n)])
ans = []
for start,end in queries:
start_idx = shortest_path.bisect_right(start)
end_idx = shortest_path.bisect_left(end)
for i in reversed(range(start_idx, end_idx)):
shortest_path.pop(i)
ans.append(len(shortest_path)-1)
return ans
作者: Apache (阿帕契)   2024-08-04 12:09:00
别卷了
作者: dont   2024-08-04 12:13:00
第三题用sortedList pop
作者: sixB (6B)   2024-08-04 12:13:00
我没了 我是垃圾
作者: sustainer123 (caster)   2024-08-04 12:17:00
大师
作者: nozomizo (希霙)   2024-08-04 12:19:00
巨佬
作者: digua (地瓜)   2024-08-04 12:26:00
大师
作者: oin1104 (是oin的说)   2024-08-04 12:28:00
大师 我第三题 写到吐 我快哭了

Links booklink

Contact Us: admin [ a t ] ucptt.com