首页/新闻资讯/正文详情

DeepSeek LeetCode 526. 优美的排列 Java实现

发布时间:2026/11/6 8:51:09 来源:云帆数科 栏目:资讯中心
DeepSeek    LeetCode 526. 优美的排列 Java实现
LeetCode 526. 优美的排列Java题目要点用 1 ~ n 构造排列 perm下标从 1 开始要求对每个位置 iperm[i] % i 0 或 i % perm[i] 0返回满足条件的排列数量。方法一回溯 剪枝从位置 1 到 n 依次填数字用一个 used 数组标记数字是否已使用。当前位置 pos 只能放满足整除关系的未使用数字。classSolution{privateintcount0;publicintcountArrangement(intn){boolean[]usednewboolean[n1];backtrack(1,n,used);returncount;}privatevoidbacktrack(intpos,intn,boolean[]used){// 所有位置都填完了说明找到一个合法排列if(posn){count;return;}for(intnum1;numn;num){if(used[num])continue;// 满足优美排列条件if(num%pos0||pos%num0){used[num]true;backtrack(pos1,n,used);used[num]false;}}}}复杂度· 时间复杂度最坏 O(n!)但剪枝后远小于全排列。· 空间复杂度O(n)递归栈和 used 数组。方法二状态压缩 DP用二进制 mask 表示哪些数字已经被使用。dp[mask] 表示使用 mask 中数字填充前 popcount(mask) 个位置的方法数。当前要填的位置pos Integer.bitCount(mask) 1尝试把未使用的数字 num 放到 pos如果满足整除条件则转移。classSolution{publicintcountArrangement(intn){inttotalMask1n;int[]dpnewint[totalMask];dp[0]1;for(intmask0;masktotalMask;mask){if(dp[mask]0)continue;intposInteger.bitCount(mask)1;for(intnum1;numn;num){intbit1(num-1);// 数字 num 还没被使用if((maskbit)0){// 满足优美排列条件if(num%pos0||pos%num0){dp[mask|bit]dp[mask];}}}}returndp[totalMask-1];}}复杂度· 时间复杂度O(n * 2^n)· 空间复杂度O(2^n)示例输入n2输出2解释 排列[1,2]1%102%20合法 排列[2,1]2%101%2!0但2%10合法输入n3输出3推荐· n ≤ 15 时回溯法代码简单、实际运行很快面试中更常写。· 状态压缩 DP 思路更系统适合展示动态规划能力。· 两者都可以通过 LeetCode 526。

相关推荐

DiscoveryRSI:通过递归学习发现有价值的假设
DiscoveryRSI:通过递归学习发现有价值的假设

26年10月,论文“DiscoveryRSI: Recursively Learning to Discover Valuable Hypotheses”,来自PhAI Labs、香港中文大学、密歇根大学、新加坡国立大学、复旦大学、北京大学人民医院、北京大学、斯坦福大学、香港科技大学、加州大学圣塔芭芭拉分校、东南大… · 2026/11/6 8:50:05

CAN 技术系列 03 · CAN 位定时与同步
CAN 技术系列 03 · CAN 位定时与同步

📚 CAN总线技术系列 持续更新中 本系列从差分电气层一路打到 Linux SocketCAN,把"两根线"背后的电气/协议/控制器/驱动/实战全拧成一根线。 👉 想系统追更,戳这里查看完整专栏: 【CAN 技术系列】 👉 其他技… · 2026/11/6 8:50:05

Palantir 的“本体论”-中国式落地实践
Palantir 的“本体论”-中国式落地实践

摘要:本文从 Palantir 的“本体论”语义框架谈起,分享我们在工业现场落地的一套语义化系统:以数据底座接入 40 多种工业协议,用语义层把工厂抽象成 13 种节点类型并构建语义树,再由智能执行层内置 27 种工业分析算子并… · 2026/11/6 8:50:05

_中山低压电工证有效期多久
_中山低压电工证有效期多久

中山低压电工证有效期多久?内部消息透露复审关键细节 你是不是正为找不到工作发愁?别急, 中山低压电工证 就是你打开就业大门的钥匙。但你知道这个证的有效期多久?复审又该怎么做?今天我来给你说说 内部消息 ,帮你避开那些常见的坑。… · 2026/11/6 19:13:56

利辛特种作业操作证保姆级教程:工地太忙怎么复习考试
利辛特种作业操作证保姆级教程:工地太忙怎么复习考试

利辛特种作业操作证保姆级教程:工地太忙怎么复习考试 工地太忙根本没时间复习考试,这是很多特种作业人员的真实写照,尤其是那些在漯河、利辛一带从事建筑施工、电焊、高处作业的工友。特种作业操作证不仅关系到你的职业发展,还直接关系到你的生命安全。很… · 2026/11/6 19:13:56

特种工最新工资标准表,上岗必备的实操考试避坑指南
特种工最新工资标准表,上岗必备的实操考试避坑指南

特种工最新工资标准表,上岗必备的实操考试避坑指南 实操考试心里没底怕挂科,这是很多准备考取特种作业操作证的兄弟心里都有的想法。尤其是像低压电工、焊工这些岗位,一旦考试不过,不仅浪费时间精力,还影响后续的上岗安排。今天就用一个开封项目现场管理… · 2026/11/6 19:13:56

深圳电工证学习考试怎么转回老家?考前押题全攻略来了
深圳电工证学习考试怎么转回老家?考前押题全攻略来了

深圳电工证学习考试怎么转回老家?考前押题全攻略来了 之前考的证在外省能不能转过来?这个问题困扰着很多在深圳打拼的电工从业者,尤其是那些打算回老家发展或者想在本地换工作的人。深圳作为一线城市,电工证报考和考试相对规范,但证书的有效性、转省流程… · 2026/11/6 19:13:56

低压电工证避雷针题目报名入口与办理流程
低压电工证避雷针题目报名入口与办理流程

低压电工证避雷针题目报名入口与办理流程 实操考试心里没底怕挂科?低压电工证避雷针题目怎么准备,网上查询不到标准答案?别急,作为新乡本地劳务班组负责人,我来给你讲清楚整个流程和避坑经验,让你少走弯路,稳稳拿证。… · 2026/11/6 19:13:56

高压电工证查询官方保姆级教程:证书过期了不知道怎么复审延期
高压电工证查询官方保姆级教程:证书过期了不知道怎么复审延期

高压电工证查询官方保姆级教程:证书过期了不知道怎么复审延期 你是不是也遇到过这种情况:高压电工证眼看要到期了,却不知道该怎么复审延期,耽误了工作,还被单位通报?别急,今天这篇【高压电工证查询官方保姆级教程】,就是为你量身打造的,手把手教你搞… · 2026/11/6 19:12:55

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

三菱PLC数据采集到数据库的时序设计:Python+MC协议实战
三菱PLC数据采集到数据库的时序设计:Python+MC协议实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

ASIC主模式RTL设计:状态机与三态驱动的流片级实现
ASIC主模式RTL设计:状态机与三态驱动的流片级实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

STM32嵌入式C++开发:GDB调试与Renode仿真实战指南
STM32嵌入式C++开发:GDB调试与Renode仿真实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码