LeetCode 667. Beautiful Arrangement II
来源:互联网 发布:jquery.min.js报错 编辑:程序博客网 时间:2024/05/29 16:56
Discription
给定两个整数n
和k
,构建一个n
个元素数组,数组要满足一下要求:
假设数组[a1,a2....an]
那么[|a2-a1|,|a3-a2|.....]
包含k
个不同的整数。如果有多个数组输出任意一个数组。1<=k<n<=10000
。
Example
Input: n = 3, k = 1
Output: [1, 2, 3]
Input: n = 3, k = 2
Output: [1, 3, 2]
Solution
给定n
那么k最大为n-1
,假设这k
个数字是 n-1,n-2,n-3...1
,所以数列可以是1,n-1,2,n-2,....
,比如给定n=9 k=8
则数列可以是1 9 2 8 3 7 6 4 5
,可以看出这组数据差值是8 7 6 5 4 3 2 1
,如果给定k<n-1
,则将剩余的项用递增或者递减顺序即可。
Code
vector<int> constructArray(int n, int k){ vector<int> res; for (int i = 1, j = n; i <= j;) { if (k > 1) { if (k % 2 == 0) res.push_back(i++); else res.push_back(j--); k--; } else { if (k % 2 == 0) res.push_back(i++); else res.push_back(j--); } } return res;}
阅读全文
0 0
- LeetCode 667. Beautiful Arrangement II
- leetcode 667. Beautiful Arrangement II
- LeetCode 667. Beautiful Arrangement II
- LeetCode 667. Beautiful Arrangement II
- leetcode 667. Beautiful Arrangement II
- LeetCode 667. Beautiful Arrangement II
- leetcode 667. Beautiful Arrangement II
- leetcode- Beautiful Arrangement II
- leetCode-Beautiful Arrangement II
- 667. Beautiful Arrangement II
- 667. Beautiful Arrangement II
- 667. Beautiful Arrangement II
- 667. Beautiful Arrangement II
- 667. Beautiful Arrangement II。
- 667. Beautiful Arrangement II
- 667. Beautiful Arrangement II(Java)
- leetcode 667. Beautiful Arrangement II 双指针遍历
- leetcode Beautiful Arrangement II 优美排列
- 优先队列
- 最长公共子序列LCS C++实现
- 递归的理解
- php类型转换
- window10 DEV C++ 不能调试问题
- LeetCode 667. Beautiful Arrangement II
- Linux常用vim命令(不断更新。。。)
- swing常用的布局
- 微信扫描二维码登陆的原理
- HTML页面添加内容的方法
- NKOJ3843 2357数
- 使用Hexo+GitHub搭建个人博客
- Java 键盘输入数字(空格隔开) 将数字存入数组。
- 注册 ng-tags-input 失败