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/