【发布时间】:2022-01-01 09:30:10
【问题描述】:
您好,我是数据结构的新手,在理解“ds.remove(ds.size()-1);”行时遇到了一些问题。有谁能帮帮我吗?
类解决方案{
private void findCombinations(int ind,int[] arr,int target,List<List<Integer>> ans, List<Integer> ds)
{
if(ind == arr.length)
{
if(target == 0)
ans.add(new ArrayList<>(ds));
return;
}
if(arr[ind] <= target)
{
ds.add(arr[ind]);
findCombinations(ind, arr, target - arr[ind], ans, ds);
ds.remove(ds.size() - 1);
}
findCombinations(ind + 1, arr, target, ans, ds);
}
public List<List<Integer>> combinationSum(int[] candidates, int target) {
List<List<Integer>> ans = new ArrayList<>();
findCombinations(0, candidates, target, ans, new ArrayList<>());
return ans;
}
}
【问题讨论】:
-
删除
ds中索引为ds.size() -1的元素。换句话说,它会从列表中删除最后一个元素。
标签: java recursive-datastructures