shenxian32 2024-08-05 15:18 采纳率: 89%
浏览 4

关于#java#的问题:这段代码递归的终止条件在哪里

这段代码递归的终止条件在哪里?没找到return啊!看不明白


class Solution {
    List<List<Integer>> ans = new LinkedList<>();
    LinkedList<Integer> track = new LinkedList<>();
    public List<List<Integer>> subsetsWithDup(int[] nums) {
        Arrays.sort(nums);
        process(nums,0);
        return ans;
    }
    /**
    * 回溯算法
    */
    public void process(int[]nums,int index){
        ans.add(new LinkedList<>(track));
        //选择列表,也就是决策列表
        for(int i = index;i < nums.length;i++){
        //剪枝操作,如果前面选择过了,就不选了 直接跳过
            if(i > index && nums[i] == nums[i - 1]){
                continue;
            }
            //选择
            track.addLast(nums[i]);
            process(nums,i + 1);
            //撤销选择
            track.removeLast();
        }
    }
}

  • 写回答

1条回答 默认 最新

  • Huazie 全栈领域优质创作者 2024-08-05 15:55
    关注

    for 循环结束了, 函数调用返回 就结束了呀, 没有返回值,相当于 return;
    递归里一层一层返回

    评论

报告相同问题?

问题事件

  • 创建了问题 8月5日

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd