Given a binary array, task is to sort this binary array using minimum swaps. We are allowed to swap only adjacent elements

## Logic

This is more like a counting problem – we need to count the smallest number of swaps that sort the binary array. If we sort by moving all `0`

‘s to `1`

‘s left, according to the observation shown above, we can sort from right to left. Therefore the total number of swaps would be the summation of the number of `0`

‘s on each `1`

– the number of swaps we need to move `1`

to the right.

## Code

ret,cnt = 0,0 j = len(arr)-1 while j >= 0: if arr[j] == 0: cnt += 1 else: ret += cnt j -= 1

## Reference

https://www.geeksforgeeks.org/minimum-swaps-required-sort-binary-array/