Minimum Swaps to Arrange a Binary Grid LeetCode solution in C++
1class Solution {2public:3int minSwaps(vector<vector<int>> &grid) {4int n = grid.size();5vector<int> mr(n, 0);6vector<int> br(n, 0);7for (int i = 0; i < n; i++) {8for (int j = 0; j < n; j++) {9if (grid[i][j] == 1) mr[i] = j;10}11}12br = mr;13sort(mr.begin(), mr.end());14for (int i = 0; i < n; i++)15if (mr[i] > i) return -1;16int count = 0;17for (int i = 0; i < n; i++) {18for (int j = i + 1; j < n; j++) {19if (br[i] > i) {20swap(br[i], br[j]);21count++;22}23}24}25return count;26}27};