Leetcode 969. Pancake Sorting

Posted 周洋的Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 969. Pancake Sorting相关的知识,希望对你有一定的参考价值。

每次找到当前最大数,转两下把最大数转到最右边.重复这个操作,直到都转完.

时间复杂度O(n**2)

技术图片
class Solution(object):
    def pancakeSort(self, A):
        """
        :type A: List[int]
        :rtype: List[int]
        """
        maxA,index,ret,size = 0,-1,[],len(A)
        if size==1: return []
        
        for i, val in enumerate(A):
            if val > maxA:
                index,maxA = i,val

        A = A[index::-1] + ([] if index == size - 1 else A[index + 1:])
        A.reverse()
        ret = ret + [index + 1, size]+self.pancakeSort(A[:size - 1])

        return ret
View Code

 

以上是关于Leetcode 969. Pancake Sorting的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 969. Pancake Sorting

leetcode969. Pancake Sorting

Leetcode 969. Pancake Sorting

[Solution] 969. Pancake Sorting

969. Pancake Sorting

969. Pancake Sorting