# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# + active=""
#     对于某些固定的 N，如果数组 A 是整数 1, 2, ..., N 组成的排列，使得：
#
#     对于每个 i < j，都不存在 k 满足 i < k < j 使得 A[k] * 2 = A[i] + A[j]。
#
#     那么数组 A 是漂亮数组。
#
#     给定 N，返回任意漂亮数组 A（保证存在一个）。
#
# 示例 1：
#     输入：4
#     输出：[2,1,4,3]
#
# 示例 2：
#     输入：5
#     输出：[3,1,2,5,4]
#
# 提示：
#     1 <= N <= 1000
#
# -

class Solution:
    def beautifulArray(self, N: int):
        # 将res分成两半，左边都是奇数，右边都是偶数，因为奇数和偶数的平均数，是小数，肯定不在两者之间存在
        res = [1]
        while len(res) < N:
            print([x * 2 - 1 for x in res])
            print([x * 2 for x in res])
            res = [x * 2 - 1 for x in res] + [x * 2 for x in res]
        return [x for x in res if x <= N]


solution = Solution()
solution.beautifulArray(5)



StarcoderdataJupyterScriptsDedupFiltered