lc 768. Max Chunks To Make Sorted II
https://leetcode.com/problems/max-chunks-to-make-sorted-ii/description/\
读题半天没看懂。
就是说,分成若干段,段内排序得到a
直接整个排序得到b
a和b要求一样。
最多分多少段。
利用一个end记录当前到最远,
稳定排序情况下,每个都往后看最远,直到眼前的index==end
code:
class Solution: def maxChunksToSorted(self, arr): """ :type arr: List[int] :rtype: int """ arr=[(arr[i],i) for i in range(len(arr))] arr.sort() i=0 ans=0 while i<len(arr): ans+=1 end=arr[i][1] while i!=end: i+=1 end=max(end,arr[i][1]) i+=1 return ans