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

Java | Leetcode Java题解之第526题优美的排列

题目:

题解:

class Solution {
    public int countArrangement(int n) {
        int[] f = new int[1 << n];
        f[0] = 1;
        for (int mask = 1; mask < (1 << n); mask++) {
            int num = Integer.bitCount(mask);
            for (int i = 0; i < n; i++) {
                if ((mask & (1 << i)) != 0 && ((num % (i + 1)) == 0 || (i + 1) % num == 0)) {
                    f[mask] += f[mask ^ (1 << i)];
                }
            }
        }
        return f[(1 << n) - 1];
    }
}

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

相关文章:

  • 继承(7)
  • CI/CD 流水线
  • 计算机网络 笔记 数据链路层 2
  • 解决idea中无法拖动tab标签页的问题
  • RocketMQ 和 Kafka 有什么区别?
  • 数据集-目标检测系列- 电话 测数据集 call_phone >> DataBall
  • SpringBoot集成Mybatis
  • Windows 系统安装 Hadoop 详细教程
  • 交换机如何实现2.5G网络传输速率和网络变压器有关吗
  • 深度学习-42-基于PyTorch对LeNet5逐层分析计算过程
  • RSI是指在5G通信技术中用于标识小区的特定参数
  • 【ACM出版,EI稳定检索】2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024,11月29-12月1日)
  • 深入解析 Memcached原理、架构与最佳实践
  • 02多线程基础知识
  • 100种算法【Python版】第41篇——Chan‘s 算法
  • 介质访问控制方法
  • 一次家庭组网,耗时40分钟
  • Minio中出现Non-XML response from server异常
  • 数据迁移: 安全高效转移数据, 满足企业业务需求和技术改进
  • 使用labelme中的AI模型提升数据标注速度
  • CSS基础概念:什么是 CSS ? CSS 的组成
  • 11.Node.js API接口
  • 《双指针篇》---盛最多水的容器_Java(中等但简单)
  • 在VS中安装chatGPT
  • 什么是声明式编程什么是函数式编程,打比方说明
  • windows C#技术-概述