667. Beautiful Arrangement II 美丽的安排2

Posted Long Long Journey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了667. Beautiful Arrangement II 美丽的安排2相关的知识,希望对你有一定的参考价值。

 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 k distinct 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.

  1. /**
  2. * @param {number} n
  3. * @param {number} k
  4. * @return {number[]}
  5. */
  6. var constructArray = function (n, k) {
  7. let res = [];
  8. for (let i = 1, j = n; i <= j;) {
  9. if (k > 1) {
  10. res.push(k-- % 2 ? i++ : j--);
  11. } else {
  12. res.push(i++);
  13. }
  14. }
  15. return res;
  16. };
  17. let n = 3;
  18. let k = 2;
  19. let res = constructArray(n, k);
  20. console.log(res);





以上是关于667. Beautiful Arrangement II 美丽的安排2的主要内容,如果未能解决你的问题,请参考以下文章

667. Beautiful Arrangement II

667. Beautiful Arrangement II

667. Beautiful Arrangement II

667. Beautiful Arrangement II

leetcode667. Beautiful Arrangement II

[leetcode-667-Beautiful Arrangement II]