代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串
LeetCode(39)组合总和
题目
代码
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
class Solution {
public List<List<Integer>> result=new ArrayList<>();
public List<Integer> path=new ArrayList<>();
/* public boolean flag=true;//加一个判断状态 */
public List<List<Integer>> combinationSum(int[] candidates, int target) {
//等于保留退,大于就退
Arrays.sort(candidates);
if(candidates[0]>target){
return result;//处理边角料情况
}
int index=0;//可以重复选择
backtracking(candidates,target,index);
return result;
}
public void backtracking(int[] candidates,int target,int index){
/* int sum = numbers.stream().reduce(Integer::sum).orElse(0); 求和公式*/
int sum=path.stream().reduce(Integer::sum).orElse(0);
if(sum>=target){
if(sum=