mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Merge pull request #2010 from ZerenZhang2022/patch-22
Update 0332.重新安排行程.md
This commit is contained in:
@ -381,6 +381,32 @@ class Solution:
|
|||||||
return path
|
return path
|
||||||
```
|
```
|
||||||
|
|
||||||
|
python - 使用used数组 - 神似之前几题写法
|
||||||
|
|
||||||
|
```python
|
||||||
|
class Solution:
|
||||||
|
def findItinerary(self, tickets: List[List[str]]) -> List[str]:
|
||||||
|
global used,path,results
|
||||||
|
used = [0]*len(tickets)
|
||||||
|
path = ['JFK']
|
||||||
|
results = []
|
||||||
|
tickets.sort() # 先排序,这样一旦找到第一个可行路径,一定是字母排序最小的
|
||||||
|
self.backtracking(tickets,'JFK')
|
||||||
|
return results[0]
|
||||||
|
def backtracking(self,tickets,cur):
|
||||||
|
if sum(used) == len(tickets):
|
||||||
|
results.append(path[:])
|
||||||
|
return True # 只要找到就返回
|
||||||
|
for i in range(len(tickets)):
|
||||||
|
if tickets[i][0]==cur and used[i]==0:
|
||||||
|
used[i]=1
|
||||||
|
path.append(tickets[i][1])
|
||||||
|
state = self.backtracking(tickets,tickets[i][1])
|
||||||
|
path.pop()
|
||||||
|
used[i]=0
|
||||||
|
if state: return True # 只要找到就返回,不继续搜索了
|
||||||
|
```
|
||||||
|
|
||||||
### GO
|
### GO
|
||||||
```go
|
```go
|
||||||
type pair struct {
|
type pair struct {
|
||||||
|
Reference in New Issue
Block a user