class Solution {
public:
vector<int> pancakeSort(vector<int>& A) {
vector<int> res;
int k = 0, l = 0;
while (l < A.size()) {
auto max = max_element(A.begin(), A.end() - l);//重排
if (max + 1 == A.end() - l) { // 已经在当前轮最后位置
l++; continue;
}
k = distance(A.begin(), max) + 1;
if (k > 1) { // 不在第一个位置才进行翻转
res.push_back(k);
reverse(A.begin(), max + 1);
}
reverse(A.begin(), A.end() - l);
res.push_back(A.size() - l);
l++;
}
return res;
}
};
力扣969.煎饼排序
最新推荐文章于 2022-02-21 23:16:10 发布