一.题目:
煎饼排序.每次可以把前k个数字进行翻转,问达到有序状态时的翻转模式结果.
二.解题思路:
首先我们找到数组中的最大值,然后先将它和他前面的所有元素翻转一次,接着将整个数组翻转一次,如此循环最终将所有元素排序.
代码如下:
class Solution(object):
def pancakeSort(self, A):
"""
:type A: List[int]
:rtype: List[int]
"""
length = len(A)
res = []
for x in range(length, 0, -1):
i = A.index(x)
res.append(i+1)
res.append(x)
A = A[:i:-1] + A[:i]
return res
本文介绍了一种有趣的排序算法——煎饼排序。通过反复翻转数组中的元素,将最大值移动到正确位置,最终实现数组的完全排序。文章提供了详细的解题思路及Python代码实现。
506

被折叠的 条评论
为什么被折叠?



