#H23. 【拓展题】完美排列

【拓展题】完美排列

题目描述

  如果一个长度为 n(1n103)n(1 \leq n \leq 10^3) 的排列 aa 满足对于每对 i,j(i<j)i,j(i \lt j),都不存在 k(i<k<j)k(i \lt k \lt j) 使得 a[k]2=a[i]+a[j]a[k] \cdot 2 = a[i] + a[j] 成立,那么该排列就被称为完美排列。给定 nn,请你求出任意一个长度为 nn 的完美排列。

  注意:长度为 nn 的排列是指由整数 1,2,...,n1,2,...,n 构成的数组

  例如,n=4n=4 时,完美排列可以是 [1,3,2,4][1, 3, 2, 4]n=5n=5 时,完美排列可以是 [1,5,3,2,4][1, 5, 3, 2, 4]n=9n=9 时,完美排列可以是 [1,9,5,3,7,2,6,4,8][1,9,5,3,7,2,6,4,8]

提交

  请在下述代码基础上进行实现,完成函数后提交

#include "Solution.h"
vector<int> Solution::perfect_permutation(int n) {
    vector<int> ans;
    // 请在这里完成你的代码
    
    return ans;
}