Given two integers n and k, you need to construct a list which contains n different positive integers ranging from 1 to n and obeys the following requirement: 
Suppose this list is [a1, a2, a3, ... , an], then the list [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|] has exactly kdistinct integers.

If there are multiple answers, print any of them.

Example 1:

Input: n = 3, k = 1
Output: [1, 2, 3]
Explanation: The [1, 2, 3] has three different positive integers ranging from 1 to 3, and the [1, 1] has exactly 1 distinct integer: 1.

Example 2:

Input: n = 3, k = 2
Output: [1, 3, 2]
Explanation: The [1, 3, 2] has three different positive integers ranging from 1 to 3, and the [2, 1] has exactly 2 distinct integers: 1 and 2.

Note:

  1. The n and k are in the range 1 <= k < n <= 104.

Runtime: 28 ms, faster than 39.80% of C++ online submissions for Beautiful Arrangement II.

构造题

最小,k=1是顺序或者倒序的排列。

最大,k=n-1是依此从两头挑数的排列。

根据k来判断要排多少个头尾数。

#include <vector>
#include <iostream>
using namespace std;
class Solution {
public:
vector<int> constructArray(int n, int k) {
int tmp = k/;
vector<int> ret;
int idx = ;
while(tmp){
ret.push_back(idx);
ret.push_back(n+ - idx);
idx++;
tmp--;
}
if(k % == ){
for(int i = idx; i<= n+-idx; i++) ret.push_back(i);
}else for(int i=n+-idx; i>=idx; i--) ret.push_back(i);
return ret;
}
};

最新文章

  1. uml大战需求分析阅读笔记01
  2. git命令的使用 【备用】
  3. Palindrome Partitioning
  4. linux内核系列(一)编译安装Linux内核 2.6.18
  5. 【转】三十三、Android给ListView设置分割线Divider样式
  6. html的form元素
  7. 强制IE浏览器或WebBrowser控件使用指定版本显示网页
  8. IIS7构造Gzip压缩
  9. bootstrap标准模板
  10. ural1987 Nested Segments
  11. 基于TCP协议的项目架构之Socket流传输的实现
  12. 模拟poj1350
  13. cefSharp 开发随笔
  14. Layers Of Caffe
  15. 悲观锁,乐观锁,排他锁,行锁----MYSQL
  16. window系列
  17. hdu6444 2018中国大学生程序设计竞赛 - 网络选拔赛 1007 Neko&#39;s loop
  18. jquery事件使用方法总结 (转)
  19. Lucene新版本号对ConjunctionScorer的优化
  20. 单台DNS服务器搭建(BIND)

热门文章

  1. Activity的跳转及返回值,activity的生命周期
  2. nagios-调用脚本
  3. Redis04——Redis常见语法
  4. unsigned char数组赋值
  5. Linux之yum软件管理
  6. Oracle之:查询锁表,删除锁表
  7. vs2017 gitee项目无法提交同步的解决办法
  8. yii框架学习(MVC)
  9. include和require的区别(PHP版本7)
  10. SQL Server代码的一种学习方法