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
  • 相关阅读:
    Vue表单输入绑定(文本框和复选框)
    Vue登录方式的切换
    IDEA导包(以junit为例)
    反射相关类
    dom4j加载xml文件
    Vue购物车
    IDEA基本设置和快捷键大全
    react组件间的通信-父子通信,子父通信,兄弟通信
    react受控组件
    react中数据承载--props和state用法
  • 原文地址:https://www.cnblogs.com/ordili/p/9998550.html
Copyright © 2011-2022 走看看