添加 0491.递增子序列 go版本

添加 0491.递增子序列 go版本
This commit is contained in:
X-shuffle
2021-07-07 23:09:18 +08:00
committed by GitHub
parent b4d2f98bc7
commit 9dbfa4502d

View File

@ -257,6 +257,34 @@ class Solution:
Go
```golang
func findSubsequences(nums []int) [][]int {
var subRes []int
var res [][]int
backTring(0,nums,subRes,&res)
return res
}
func backTring(startIndex int,nums,subRes []int,res *[][]int){
if len(subRes)>1{
tmp:=make([]int,len(subRes))
copy(tmp,subRes)
*res=append(*res,tmp)
}
history:=[201]int{}//记录本层元素使用记录
for i:=startIndex;i<len(nums);i++{
//分两种情况判断:一,当前取的元素小于子集的最后一个元素,则继续寻找下一个适合的元素
// 或者二,当前取的元素在本层已经出现过了,所以跳过该元素,继续寻找
if len(subRes)>0&&nums[i]<subRes[len(subRes)-1]||history[nums[i] + 100]==1{
continue
}
history[nums[i] + 100]=1//表示本层该元素使用过了
subRes=append(subRes,nums[i])
backTring(i+1,nums,subRes,res)
subRes=subRes[:len(subRes)-1]
}
}
```
Javascript:
```Javascript