穷举vs暴搜vs深搜vs回溯vs剪枝系列一>优美的排列

题目:


解析:

部分决策树:


代码设计:


代码:

java 复制代码
private int count;
    private boolean[] check;
    public int countArrangement(int n) {
        check = new boolean[n+1];
        dfs(n,1);
        return count;
    } 

    private void dfs(int n, int pos){
        if(pos == n+1){
            count++;
            return;
        }

        for(int i = 1; i <= n; i++){
            if(check[i] == false && (i % pos == 0 || pos % i == 0)){
                check[i] = true;
                dfs(n,pos+1);
                check[i] = false;//恢复现场
            }
        }
    }
相关推荐
小媛早点睡15 分钟前
贪心算法day10(无重叠区间)
算法·贪心算法
DataFunTalk41 分钟前
乐信集团副总经理周道钰亲述 :乐信“黎曼”异动归因系统的演进之路
前端·后端·算法
行走的bug...1 小时前
sklearn估计器和变换器共有的一些方法 待更新
人工智能·算法·sklearn
DataFunTalk1 小时前
开源一个MCP+数据库新玩法,网友直呼Text 2 SQL“有救了!”
前端·后端·算法
Y.O.U..2 小时前
力扣HOT100——560.和为k的子数组
数据结构·c++·算法·leetcode
wuqingshun3141592 小时前
经典算法 判断一个图中是否有环
java·开发语言·数据结构·c++·算法·蓝桥杯·深度优先
柃歌2 小时前
【LeetCode Solutions】LeetCode 160 ~ 165 题解
数据结构·算法·leetcode
小森77672 小时前
(五)机器学习---决策树和随机森林
算法·决策树·随机森林·机器学习·分类算法
爱编码的傅同学2 小时前
数据结构(六)——红黑树及模拟实现
数据结构·算法
小黑屋的黑小子2 小时前
【数据结构】HashMap源码 —— 简单介绍
数据结构·算法·面试·源码·hashmap