Minimum Swaps and K Together

Problem Link: https://practice.geeksforgeeks.org/problems/minimum-swaps-required-to-bring-all-elements-less-than-or-equal-to-k-together4847/1

class Solution:
        
    def minSwap (self,arr, n, k) : 
        #Complete the function
        
        size=0
        for i in arr:
            if(i<=k):
                size+=1
        
        i=0
        j=0
        c=0
        ans=float('inf')
        while(j<n):
            if(arr[j]>k):
                c+=1
            
            if(j-i+1<size):
                j+=1
            
            elif(j-i+1==size):
                ans=min(ans,c)
                
                if(arr[i]>k):
                    c-=1
                
                i+=1
                j+=1
        
        return ans

Last updated