File tree Expand file tree Collapse file tree 2 files changed +37
-7
lines changed Expand file tree Collapse file tree 2 files changed +37
-7
lines changed Original file line number Diff line number Diff line change
1
+
2
+ num = [1 ,2 ,3 ,4 ,5 ]
3
+
4
+ def nextPermutation (num ):
5
+ if len (num ) <= 1 :
6
+ return num
7
+ for i in range (len (num )- 2 , - 1 , - 1 ):
8
+ if num [i ] < num [i + 1 ]:
9
+ j = i + 1
10
+ while j < len (num ):
11
+ if num [i ] >= num [j ]:
12
+ break
13
+ j += 1
14
+ j -= 1
15
+ num [i ], num [j ] = num [j ], num [i ]
16
+ num [i + 1 :] = sorted (num [i + 1 :])
17
+ return num
18
+ for k in range (0 , len (num )/ 2 , 1 ):
19
+ num [k ], num [len (num )- 1 - k ] = num [len (num )- 1 - k ], num [k ]
20
+ return num
21
+
22
+ print nextPermutation (num )
23
+
Original file line number Diff line number Diff line change 1
1
# Algorithm_Python_Demo
2
2
《挑战程序设计竞赛(第二版)》
3
- ------------------------
4
- #No.1 初级篇<br >
5
- > 穷竭搜索<br >
6
- >> DFS:从一个状态开始,不断移动状态,直到无法移动,然后退回到上一状态,继续转移其他状态,不断重复,直到找到最终解。递归函数<br >
7
- >> BFS:从一个状态开始,不断移动状态,总是搜索距离初始状态距离近的状态。<br >
8
- #No.2 中级篇<br>
9
- #No.3 高级篇<br>
3
+ ========================
4
+ # No.1 初级篇<br >
5
+ ----------------
6
+ > ## 1.1.1 穷竭搜索<br >
7
+ >> DFS:从一个状态开始,不断移动状态,直到无法移动,然后退回到上一状态,继续转移其他状态,不断重复,直到找到最终解。递归函数<br >
8
+ >> BFS:从一个状态开始,不断移动状态,总是搜索距离初始状态距离近的状<br >
9
+ > ## 1.1.2 优化<br>
10
+ >> 特殊状态的枚举:生成可解空间多数采用DFS,但是状态空间较为特殊时可通过全排列解决。<br >
11
+ >> 剪枝
12
+
13
+ # No.2 中级篇<br >
14
+ ----------------
15
+ # No.3 高级篇<br >
16
+ ----------------
You can’t perform that action at this time.
0 commit comments