题目
思路
每个回合把最大的数通过两次煎饼反转排到最后。
代码
class Solution {
public:
vector<int> pancakeSort(vector<int>& arr) {
vector<int> ans;
for(int n = arr.size(); n > 1; n--){
int index = max_element(arr.begin(), arr.begin() + n) - arr.begin();
if(index == n - 1) continue;
reverse(arr.begin(), arr.begin() + index + 1);
reverse(arr.begin(), arr.begin() + n);
ans.push_back(index + 1);
ans.push_back(n);
}
return ans;
}
};