zoukankan      html  css  js  c++  java
  • 667. Beautiful Arrangement II

    1. Question:

    667. Beautiful Arrangement II

    https://leetcode.com/problems/beautiful-arrangement-ii/

    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.

    2. Solution

    class Solution:
        def constructArray(self, n, k):
            """
            :type n: int
            :type k: int
            :rtype: List[int]
            """
            re = list(range(1, n + 1))
    
            j = k
            right_value = k + 1
            left_value = 1
            while j > 0:
                re[j] = right_value
                re[j - 1] = left_value
                right_value -= 1
                left_value += 1
                j -= 2
    
            if j == 0:
                re[0] = left_value
            return re
  • 相关阅读:
    Hive与Hadoop的交互流程
    Hadoop Webhdfs
    Hadoop HDFS的Java操作
    Hadoop JobHistory
    使用Eclipse构建Maven项目环境搭建
    Shell脚本简介 — 持续更新
    Hadoop基础 — Hadoop Shell
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/ordili/p/9998550.html
Copyright © 2011-2022 走看看