当前位置: 首页 > article >正文

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

题目:

 


解析: 

部分决策树: 

 


代码设计:

 


代码: 

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;//恢复现场
            }
        }
    }

http://www.kler.cn/a/506105.html

相关文章:

  • Unity ShaderGraph中Lit转换成URP的LitShader
  • docker一张图理解
  • PT8M2302 触控 A/D 型 8-Bit MCU
  • VSCode连接Github的重重困难及解决方案!
  • 阿里云服务器扩容系统盘后宝塔面板不显示扩容后的大小
  • Flink系统知识讲解之:容错与State状态管理
  • 【力扣Hot 100】普通数组1
  • Oracle FLOOR函数的用法
  • week07_nlp文本分类任务
  • React封装倒计时按钮
  • msck批量
  • 案例|富唯智能复合机器人CNC柔性上下料
  • Python|【Pytorch】基于小波时频图与SwinTransformer的轴承故障诊断研究
  • 【网络编程】基础知识
  • 仿infobip模板功能-可通过占位符配置模板内容
  • 关于在vue3中使用v-for动态ref并控制el-tooltips当文字溢出时才展示的问题
  • WPS计算机二级•常用图表制作
  • NLP DAY1: 文本数据读取
  • 【优选算法】三数之和(双指针算法)
  • 【云岚到家】-day02-客户管理-认证授权
  • 如何在vue中渲染markdown内容?
  • 如何清理docker垃圾
  • Spring boot面试题----Spring Boot如何实现应用程序的热部署
  • 蓝桥杯备考:二叉树详解
  • STL中的List
  • 机器学习(一)