当前位置: 首页 > 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

相关文章:

  • 论文阅读-用于点云分析的自组织网络
  • andrular输入框input监听值传递
  • 机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
  • 深入学习 Scrapy 框架:从入门到精通的全面指南
  • 【力扣专题栏】面试题 01.02. 判定是否互为字符重排,如何利用数组模拟哈希表解决两字符串互排问题?
  • 蓝桥双周赛 第21场 小白入门赛
  • 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#技术-概述