package com.heu.wsq.leetcode;
import java.util.ArrayList;
import java.util.List;
/**
* @author wsq
* @date 2021/3/21
*/
public class SumOneToN {
private static int ans = 0;
public static void main(String[] args){
List<Integer> list = new ArrayList<>();
int N = 100;
int start = 1;
dfs(N, list, start);
System.out.println("次数为:" + ans);
}
private static void dfs(int N, List<Integer> list, int start){
for(int i = start; i <= N/2 && i <= 2; i++){
list.add(i);
dfs(N - i, list, i);
list.remove(list.size() - 1);
}
if (N <= 2){
printList(list);
System.out.println(N);
}
}
private static void printList(List<Integer> list){
ans++;
int size = list.size();
for (int i = 0; i < size; i++){
System.out.print(list.get(i) + "+");
}
}
}
将N分为1,2的组合(不考虑顺序)
最新推荐文章于 2024-10-16 19:08:56 发布