Merge pull request #2370 from eeee0717/master

Update0491.递增子序列,添加C#
This commit is contained in:
程序员Carl
2023-12-21 10:15:41 +08:00
committed by GitHub
2 changed files with 57 additions and 0 deletions

View File

@ -486,6 +486,37 @@ object Solution {
} }
} }
``` ```
### C#
```csharp
public class Solution
{
public IList<IList<int>> res = new List<IList<int>>();
public IList<int> path = new List<int>();
public IList<IList<int>> Permute(int[] nums)
{
var used = new bool[nums.Length];
BackTracking(nums, used);
return res;
}
public void BackTracking(int[] nums, bool[] used)
{
if (path.Count == nums.Length)
{
res.Add(new List<int>(path));
return;
}
for (int i = 0; i < nums.Length; i++)
{
if (used[i]) continue;
used[i] = true;
path.Add(nums[i]);
BackTracking(nums, used);
used[i] = false;
path.RemoveAt(path.Count - 1);
}
}
}
```
<p align="center"> <p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank"> <a href="https://programmercarl.com/other/kstar.html" target="_blank">

View File

@ -614,6 +614,32 @@ object Solution {
} }
} }
``` ```
### C#
```csharp
public class Solution {
public IList<IList<int>> res = new List<IList<int>>();
public IList<int> path = new List<int>();
public IList<IList<int>> FindSubsequences(int[] nums) {
BackTracking(nums, 0);
return res;
}
public void BackTracking(int[] nums, int start){
if(path.Count >= 2){
res.Add(new List<int>(path));
}
HashSet<int> hs = new HashSet<int>();
for(int i = start; i < nums.Length; i++){
if(path.Count > 0 && path[path.Count - 1] > nums[i] || hs.Contains(nums[i])){
continue;
}
hs.Add(nums[i]);
path.Add(nums[i]);
BackTracking(nums, i + 1);
path.RemoveAt(path.Count - 1);
}
}
}
```
<p align="center"> <p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank"> <a href="https://programmercarl.com/other/kstar.html" target="_blank">