递归/回溯 Java 模板

/**
 * @author tfh, created at 2022-08-08 4:57 PM
 */
public class RecursionAndBacktrackingTemplate {
    public static void main(String[] args) {
        // 准备数据
        prepareData();
        // 递归解决问题
        recursion();
        // 结果处理
        processResult();
    }


    private static void recursion() {
        // 终止条件
        if (isTheAnswer()) {
            addAnswerToResult();
        } else {
            // 遍历所有子问题
            while (hasNextSubProblem()) {

                // 准备执行子问题
                prepareNextSubProblem();

                // 递归解决子问题
                recursion();

                // 回溯
                backtracking();
            }
        }
    }

    private static void backtracking() {

    }

    private static boolean hasNextSubProblem() {
        return false;
    }

    private static void addAnswerToResult() {

    }

    private static void prepareNextSubProblem() {

    }

    private static boolean isTheAnswer() {
        return false;
    }

    private static void processResult() {

    }

    private static void prepareData() {

    }
}

全部评论
楼主厉害,我现在浮躁的都不想写代码
点赞
送花
回复
分享
发布于 2022-08-10 13:41

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务