跳转至

排序 #贪心#

题目:5832. 构造元素不等于两相邻元素平均值的数组 - 力扣(LeetCode) (leetcode-cn.com)

方法:(错了好几次后,看预期结果看出的规律……)数字从小到大排序后,将前 n/2 个数字依次放在 1、3、5... 位置上,剩下数字依次放在 0、2、4... 位置上。这样可以保证每一个数字不可能是左右两个数字的一半。

cpp class Solution { public: vector<int> rearrangeArray(vector<int>& a) { sort(a.begin(), a.end()); vector<int>ans(a.size()); int j = 1; for(int i=0;i<a.size();i++) { if(j >= a.size()) { j=0; } ans[j]=a[i]; j+=2; } return ans; } };


最后更新: 2022-11-15

评论