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

西安小程序制作北京seo设计公司

西安小程序制作,北京seo设计公司,青岛app软件开发公司,深圳建网站培训学校1. 题目链接:526. 优美的排列 2. 题目描述: 假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm(下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列 : perm[i] 能够被…

1. 题目链接:526. 优美的排列

2. 题目描述:

假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列

  • perm[i] 能够被 i 整除
  • i 能够被 perm[i] 整除

给你一个整数 n ,返回可以构造的 优美排列数量

示例 1:

输入:n = 2
输出:2
解释:
第 1 个优美的排列是 [1,2]:- perm[1] = 1 能被 i = 1 整除- perm[2] = 2 能被 i = 2 整除
第 2 个优美的排列是 [2,1]:- perm[1] = 2 能被 i = 1 整除- i = 2 能被 perm[2] = 1 整除

示例 2:

输入:n = 1
输出:1

提示:

  • 1 <= n <= 15

3. 解法(递归):

3.1 算法思路:

我们需要在每个位置上考虑所有的可能情况并且不能出现重复。通过深度优先搜索的方式,不断地枚举每个数在当前位置的可能性,并且回溯到上一个状态,直到枚举完所有的可能性,得到正确的结果。

我们需要定义一个变量来记录所有可能的排列数量,一个一维数组标记元素,然后从第一个位置开始进行递归

3.2 递归流程:

  1. 递归结束条件:当pos等于n+1时,说明已经处理完所有的数字,将当前数组存入结果中
  2. 在每个递归状态中,枚举所有下标,若这个下标未被标记,并且满足题目条件之一:
    1. check[i]标记为true
    2. 对第pos+1个位置进行递归
    3. check[i]重新赋值为false,表示回溯

请添加图片描述

3.3 C++算法代码:

class Solution {bool check[16]; // 用于记录每个数字是否已经被使用过int ret; // 用于记录满足条件的排列的数量
public:int countArrangement(int n) {dfs(1, n); // 从第一个位置开始搜索return ret; // 返回满足条件的排列的数量}void dfs(int pos, int n) {if (pos == n + 1) { // 如果已经到达最后一个位置ret++; // 找到一个满足条件的排列,将计数器加1return; // 返回上一层递归}for (int i = 1; i <= n; i++) { // 遍历从1到n的所有数字if (!check[i] && (pos % i == 0 || i % pos == 0)) { // 如果数字i未被使用过且满足排列的条件check[i] = true; // 将数字i标记为已使用dfs(pos + 1, n); // 继续搜索下一个位置check[i] = false; // 将数字i标记为未使用,以便在其他路径中使用}}}
};
http://www.15wanjia.com/news/10351.html

相关文章:

  • 佛山高端外贸网站建设怎样开自己的网站
  • 网站开发大约多少钱seo刷网站
  • 网站推广关键词工具郑州seo优化外包热狗网
  • 做医疗网站要几个人永久免费的电销外呼系统
  • 杂志在线设计网站东莞做网站的联系电话
  • 在国内做博彩网站代理搜狗网站
  • 开一个素材设计网站怎么做无锡百度正规公司
  • 做公司网站需要多少钱seo做得比较好的公司
  • php是做网站美工的吗seo标题优化裤子关键词
  • 做网站申请完空间后下一步干啥重庆森林百度网盘
  • 专业建设的几个方面企业seo职位
  • 做我男朋友好不好网站百度快照替代
  • 玛多县网站建设公司百度关键词首页排名怎么上
  • 网页商城设计商城网站设计案例免费培训seo网站
  • 简洁ppt模板下载 免费seo和sem是什么
  • 营销型网站关键词多少为好百度知道推广软件
  • 动画做视频在线观看网站百度关键词排名联系
  • 昆明市 网站建设如何建立网址
  • asp建设的网站制作百度经验首页官网
  • 商城类型的网站怎么做百度推广没有效果怎么办
  • 网站用什么系统好用游戏推广员判几年
  • 做代加工的网站发布文军seo
  • 网站标题用什么符号网页开发
  • 网页的建设海外seo推广公司
  • wordpress真实用户ip插件seo网络营销
  • 网站管理员中心热点营销案例
  • 网站建设一六八互联广州抖音seo公司
  • 百度给做网站公司营销网站模板
  • 万网可以做网站吗公司网站建设平台
  • 最简单的网站建设seo优化名词解释