思路
分析题目
数学上的组合问题, 感觉题很简单,对于我没接触过算法的人,无从下手 _
发现这道题的标签是回溯, 然后查找了一些关于回溯问题的资料
初步对这道题有了思路, 就是个树形结构
, 遍历每一条分支结构
利用递归求解(菜鸡的我只知道递归就是自己调用自己,要确定好递归结束条件)
思路:
①在纸上画出树形结构
②确定递归参数
每次的参数都是当前字符串减去结点字符
③确定递归结束条件
当前字符串长度为1
编写
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
rst = []
def digui(s, cutNums):
if(not cutNums):
rst.append(s)
for i in range(len(cutNums)):
digui(s+[cutNums[i]], cutNums[:i]+cutNums[i+1:])
digui([], nums)
return rst
思考与学习
待复习