[LeetCode]526. Beautiful Arrangement
来源:互联网 发布:matlab周期方波编程 编辑:程序博客网 时间:2024/06/06 12:44
[LeetCode]526. Beautiful Arrangement
题目描述
思路
递归
对于长度为n的数组,初始化为1,2,3,…,n的形式的数组
扫描数组,当前值满足条件时,与末位交换
然后判断n-1长度的数组的完美个数
直到n=1时,完美数组是1个,递归终止条件。
遵循的规律,每次发生交换后,数组必然为完美数组,原因?
代码
#include <iostream>#include <vector>#include <algorithm>using namespace std;class Solution {public: int countArrangement(int N) { vector<int> nums; for (int i = 1; i <= N; ++i) nums.push_back(i); return counts(N, nums); } int counts(int len, vector<int> &nums) { if (len == 0) return 1; int res = 0; for (int i = 0; i < len; ++i) { if (nums[i] % len == 0 || len % nums[i] == 0) { swap(nums[i], nums[len - 1]); res += counts(len - 1, nums); swap(nums[i], nums[len - 1]); } } return res; }};int main() { Solution s; cout << s.countArrangement(3) << endl; system("pause"); return 0;}
阅读全文
0 0
- LeetCode 526. Beautiful Arrangement
- 【Leetcode】526. Beautiful Arrangement
- [LeetCode]526. Beautiful Arrangement
- 【LeetCode】526. Beautiful Arrangement
- leetcode 526. Beautiful Arrangement
- Leetcode: 526. Beautiful Arrangement
- [LeetCode] 526. Beautiful Arrangement
- [LeetCode]526. Beautiful Arrangement
- [LeetCode] 526. Beautiful Arrangement
- LeetCode:526. Beautiful Arrangement
- [leetcode] 526. Beautiful Arrangement
- LeetCode笔记:526. Beautiful Arrangement
- 【LeetCode】526. Beautiful Arrangement【M】【35】【回溯】
- [Leetcode] 526. Beautiful Arrangement 解题报告
- Leetcode Beautiful Arrangement
- Leetcode 526 Beautiful Arrangement
- LeetCode 526 Beautiful Arrangement
- leetcode- Beautiful Arrangement II
- 初识AOP
- Ajax复选框多选删除的实现
- 吃货福利get-今日美食food微信小程序
- 文章标题
- 博士之路
- [LeetCode]526. Beautiful Arrangement
- PHP服务器的网页显示空白
- 将Vim打造成服务器端IDE
- Bean 后处理器
- LVS(Linux virtual Server)
- 二维数组中的查找
- 1011. World Cup Betting (20)
- ThinkPHP中集成阿里大于短信发送SDK
- maven实战(八)Maven web项目的目录结构