import java.util.ArrayList;
import java.util.List;
public class Algorithm {
public static int maxSubArray(int[] nums) {
int sum = Integer.MIN_VALUE;
int n = nums.length;
for(int l=1; l<=n; l++){
for(int i = 0; i> res = new ArrayList<>();
// private List
> permute(int[] nums) {
// backTracing(nums, 0, nums.length);
// return res;
// }
// public void backTracing(int [] nums, int cur, int n){
// if(cur == n){
// tmp = new ArrayList<>();
// for (int num : nums) {
// tmp.add(num);
// }
// res.add(tmp);
// return;
// }
//
// for(int i = cur; i < n ; i++){
// swap(nums, cur, i);
// backTracing(nums, cur+1, n);
// swap(nums, cur, i);
// }
//
// }
// public void swap(int [] nums, int i, int j){
// int tmp = nums[i];
// nums[i] = nums[j];
// nums[j] = tmp;
// }
// }
// public static void main(String[] args) {
// int []nums={1,2,3};
// Solution solution = new Solution();
// List
> permute = solution.permute(nums);
// System.out.println(permute.toString());
//
// }
/**
* ç»å
*/
static class Solution {
private List
> res = new ArrayList<>();
private List
> combine(int n, int k){
backTracing(n, 1, k);
return res;
}
public void backTracing(int n, int cur, int k){
if(tmp.size() + (n-cur+1) < k){
return;
}
if(tmp.size() == k){
res.add(new ArrayList<>(tmp));
return;
}
tmp.add(cur);
backTracing(n, cur+1, k);
tmp.remove(tmp.size()-1);
backTracing(n, cur+1, k);
}
}
public static void main(String[] args) {
Solution solution = new Solution();
List
> permute = solution.combine(3,2);
System.out.println(permute.toString());
while (true){
}
}
}