mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Merge pull request #1701 from roylx/master
Update 0332.重新安排行程.md 优化了phython3的代码
This commit is contained in:
@ -355,16 +355,18 @@ class Solution:
|
|||||||
tickets_dict = defaultdict(list)
|
tickets_dict = defaultdict(list)
|
||||||
for item in tickets:
|
for item in tickets:
|
||||||
tickets_dict[item[0]].append(item[1])
|
tickets_dict[item[0]].append(item[1])
|
||||||
|
# 给每一个机场的到达机场排序,小的在前面,在回溯里首先被pop(0)出去
|
||||||
|
# 这样最先找的的path就是排序最小的答案,直接返回
|
||||||
|
for airport in tickets_dict: tickets_dict[airport].sort()
|
||||||
'''
|
'''
|
||||||
tickets_dict里面的内容是这样的
|
tickets_dict里面的内容是这样的
|
||||||
{'JFK': ['SFO', 'ATL'], 'SFO': ['ATL'], 'ATL': ['JFK', 'SFO']})
|
{'JFK': ['ATL', 'SFO'], 'SFO': ['ATL'], 'ATL': ['JFK', 'SFO']})
|
||||||
'''
|
'''
|
||||||
path = ["JFK"]
|
path = ["JFK"]
|
||||||
def backtracking(start_point):
|
def backtracking(start_point):
|
||||||
# 终止条件
|
# 终止条件
|
||||||
if len(path) == len(tickets) + 1:
|
if len(path) == len(tickets) + 1:
|
||||||
return True
|
return True
|
||||||
tickets_dict[start_point].sort()
|
|
||||||
for _ in tickets_dict[start_point]:
|
for _ in tickets_dict[start_point]:
|
||||||
#必须及时删除,避免出现死循环
|
#必须及时删除,避免出现死循环
|
||||||
end_point = tickets_dict[start_point].pop(0)
|
end_point = tickets_dict[start_point].pop(0)
|
||||||
|
Reference in New Issue
Block a user