LeetCode969. 煎饼排序

这道题我是参考了网上的题解,感觉这种思路还是挺巧妙的。

class Solution {
    
    
public:
    vector<int> pancakeSort(vector<int>& arr) {
    
    
        int n = arr.size();
        vector<int> res;

        int i = n - 1;

        while (i >= 0)
        {
    
    
            int index = max_element(arr.begin(), arr.begin() + i + 1) - arr.begin();

            if (index != i)
            {
    
    
                res.push_back(index + 1);
                reverse(arr.begin(), arr.begin() + index + 1);
                res.push_back(i + 1);
                reverse(arr.begin(), arr.begin() + i + 1);
            }
            i--;
        }
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_32862515/article/details/108511226