能帮我把下面的递归代码转换为非递归代码吗?

新手上路,请多包涵
 public void selectCourseHour(List<List<CourseHour>> candidateList, List<CourseHour> selected, List<List<CourseHour>> results, int target) {

        if (CollectionUtils.isEmpty(candidateList)){
            return;
        }

        List<CourseHour> candidate = candidateList.get(0);

        for (CourseHour oneCandidate : candidate){
            if (selected.contains(oneCandidate)) continue;

            List<CourseHour> currentSelected = new ArrayList<>();
            currentSelected.addAll(selected);
            currentSelected.add(oneCandidate);

            if (currentSelected.size() >= target){
                results.add(currentSelected);
            }

            this.selectCourseHour(candidateList.subList(1, candidateList.size()), currentSelected, results, target);
        }

        return;
    }
阅读 833
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题