本文发布且更新于个人博客:https://www.xerrors.fun/leetcode/pancake-sorting/
1. 题目
给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A 的前 k 个元素的顺序。我们要执行零次或多次煎饼翻转(按顺序一次接一次地进行)以完成对数组 A 的排序。
返回能使 A 排序的煎饼翻转操作所对应的 k 值序列。任何将数组排序且翻转次数在 10 * A.length 范围内的有效答案都将被判断为正确。
题目链接:力扣(LeetCode)
2. 解题思路
解题思路分两部分,一种是自己拿到题目之后的想法,并不一定是正确的,主要是记录自己的心路历程以及思考过程。
分析思路
从目前的情况来看,很像是八数码的问题。首先使用动态规划来分析(吃一堑长一智),当前序列并不能转化为子序列来求解,因为序列的最优解并不包含子序列的最优解。Pass!
根据题目中的说明,任何将数组排序且翻转次数在 10 * A.length 范围内的有效答案都将被判断为正确。