C++刷LeetCode(面试题 10.11. 峰与谷)【数学】
题目描述:在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 6, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。
示例:
输入:
输出:
提示:
nums.length <= 10000
class Solution {
public:
void wiggleSort(vector<int>& nums) {
vector<int> store(nums.begin(), nums.end());
sort(store.begin(), store.end());
int left = 0, right = store.size() - 1;
for(int i = 0; i < nums.size(); i++){
if(i % 2 == 0){
nums = store;
right--;
}else{
nums = store;
left++;
}
}
return;
}
};
类比同类型题:https://fishc.com.cn/forum.php?mod=viewthread&tid=173115&highlight=%D4%F6%BC%F5%D7%D6%B7%FB%B4%AE%C6%A5%C5%E4
页:
[1]