原题链接:https://leetcode-cn.com/problems/pancake-sorting/
算法思路:
1、在未排序的数中找出最大的一个数
2、两次排序,将这个数放在最后,这是已经排序后的数,下次执行1
class Solution {
public:
vector<int> pancakeSort(vector<int>& arr) {
int n = arr.size();
vector<int> res;
for (int i = n; i >= 1; i--) {
int d = max_element(arr.begin(), arr.begin() + i) - arr.begin() + 1;
if (d == i) {
continue;
}
reverse(arr.begin(), arr.begin() + d);
reverse(arr.begin(), arr.begin() + i);
res.push_back(d);
res.push_back(i);
}
return res;
}
};