CP #35: Global and Local Inversions Problemi
Problem surada . Cozum Cok enteresan bir problem ile karsi karsiyayiz. Elimizde 2 inversion tipi var: global ve local. Local inversion: yan yana olup da, kendisinden sonra gelenden buyuk olan bir eleman var ise bu local inversion oluyor. Global inversion: yanyana olmasina gerek olmadan, kendisinden sonra gelen elemanlar icinde, kendisinden buyuk bir eleman var ise, bu global inversion oluyor. Ben cok dusunmeden direk hesaplamaya giristim. Siz yapmayin diye burada tekrar yapalim ama sonra dusunme asamasina geri donecegiz. O zaman oncelikle local inversionlari hesaplayalim: def isIdealPermutation(self, nums: List[int]) -> bool: # local inversion sayisi kolay, # her bir pair'i kontrol ediyoruz loc = 0 for i in range(len(nums)-1): if nums[i+1] < nums[i]: loc += 1 glob = 0 # ...