mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
更新 0332.重新安排行程 排版格式修复
This commit is contained in:
@ -29,9 +29,11 @@
|
|||||||
* 输出:["JFK","ATL","JFK","SFO","ATL","SFO"]
|
* 输出:["JFK","ATL","JFK","SFO","ATL","SFO"]
|
||||||
* 解释:另一种有效的行程是 ["JFK","SFO","ATL","JFK","ATL","SFO"]。但是它自然排序更大更靠后。
|
* 解释:另一种有效的行程是 ["JFK","SFO","ATL","JFK","ATL","SFO"]。但是它自然排序更大更靠后。
|
||||||
|
|
||||||
## 思路
|
## 算法公开课
|
||||||
|
|
||||||
**如果对回溯算法基础还不了解的话,我还特意录制了一期视频:[带你学透回溯算法(理论篇)](https://www.bilibili.com/video/BV1cy4y167mM/)** 可以结合题解和视频一起看,希望对大家理解回溯算法有所帮助。
|
**如果对回溯算法基础还不了解的话,我还特意录制了一期视频,[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[带你学透回溯算法(理论篇)](https://www.bilibili.com/video/BV1cy4y167mM/)** 可以结合题解和视频一起看,希望对大家理解回溯算法有所帮助。
|
||||||
|
|
||||||
|
## 思路
|
||||||
|
|
||||||
|
|
||||||
这道题目还是很难的,之前我们用回溯法解决了如下问题:[组合问题](https://programmercarl.com/0077.组合.html),[分割问题](https://programmercarl.com/0093.复原IP地址.html),[子集问题](https://programmercarl.com/0078.子集.html),[排列问题](https://programmercarl.com/0046.全排列.html)。
|
这道题目还是很难的,之前我们用回溯法解决了如下问题:[组合问题](https://programmercarl.com/0077.组合.html),[分割问题](https://programmercarl.com/0093.复原IP地址.html),[子集问题](https://programmercarl.com/0078.子集.html),[排列问题](https://programmercarl.com/0046.全排列.html)。
|
||||||
@ -53,7 +55,7 @@
|
|||||||
|
|
||||||
针对以上问题我来逐一解答!
|
针对以上问题我来逐一解答!
|
||||||
|
|
||||||
## 如何理解死循环
|
### 如何理解死循环
|
||||||
|
|
||||||
对于死循环,我来举一个有重复机场的例子:
|
对于死循环,我来举一个有重复机场的例子:
|
||||||
|
|
||||||
@ -61,7 +63,7 @@
|
|||||||
|
|
||||||
为什么要举这个例子呢,就是告诉大家,出发机场和到达机场也会重复的,**如果在解题的过程中没有对集合元素处理好,就会死循环。**
|
为什么要举这个例子呢,就是告诉大家,出发机场和到达机场也会重复的,**如果在解题的过程中没有对集合元素处理好,就会死循环。**
|
||||||
|
|
||||||
## 该记录映射关系
|
### 该记录映射关系
|
||||||
|
|
||||||
有多种解法,字母序靠前排在前面,让很多同学望而退步,如何该记录映射关系呢 ?
|
有多种解法,字母序靠前排在前面,让很多同学望而退步,如何该记录映射关系呢 ?
|
||||||
|
|
||||||
@ -90,7 +92,7 @@ unordered_map<string, map<string, int>> targets:unordered_map<出发机场, ma
|
|||||||
|
|
||||||
**相当于说我不删,我就做一个标记!**
|
**相当于说我不删,我就做一个标记!**
|
||||||
|
|
||||||
## 回溯法
|
### 回溯法
|
||||||
|
|
||||||
这道题目我使用回溯法,那么下面按照我总结的回溯模板来:
|
这道题目我使用回溯法,那么下面按照我总结的回溯模板来:
|
||||||
|
|
||||||
@ -260,7 +262,7 @@ for (pair<string, int>target : targets[result[result.size() - 1]])
|
|||||||
|
|
||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
### java
|
### Java
|
||||||
|
|
||||||
```java
|
```java
|
||||||
class Solution {
|
class Solution {
|
||||||
@ -346,7 +348,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### python
|
### Python
|
||||||
回溯 使用used数组
|
回溯 使用used数组
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@ -431,7 +433,7 @@ class Solution:
|
|||||||
result.append(airport) # 将当前机场添加到行程路径中
|
result.append(airport) # 将当前机场添加到行程路径中
|
||||||
```
|
```
|
||||||
|
|
||||||
### GO
|
### Go
|
||||||
```go
|
```go
|
||||||
type pair struct {
|
type pair struct {
|
||||||
target string
|
target string
|
||||||
@ -577,7 +579,7 @@ function findItinerary(tickets: string[][]): string[] {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
### C语言
|
### C
|
||||||
|
|
||||||
```C
|
```C
|
||||||
char **result;
|
char **result;
|
||||||
@ -791,3 +793,4 @@ impl Solution {
|
|||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user