1 class Solution(object):
 2     def pancakeSort(self, A: 'List[int]') -> 'List[int]':
 3         n = len(A)
 4         result = list()
 5         while n > 1:
 6             idx = A.index(n)
 7             dif = n - 1 - idx
 8             pre = []
 9             if dif != 0:
10                 if idx != 0:
11                     result.append(idx+1)
12                 result.append(n)
13                 pre = A[idx+1:]
14                 pre.reverse()
15             A = pre + A[:idx]
16             n = len(A)
17             #print(A)
18         return result

从大到小寻找每个数字的位置,将其先移动到第一个位置,再将其移动到其数字应该的位置(index==num-1)。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。