The K Weakest Rows in a Matrix – Leetcode Challenge – Java Solution

This is the java solution for the Leetcode problem – The K Weakest Rows in a Matrix – Leetcode Challenge – Java Solution.

Source – qiyuangong’s repository.

class Solution {
    public int[] kWeakestRows(int[][] mat, int k) {
        List res = new ArrayList<>();
        int col = 0;
        boolean flag = true;
        while (col < mat[0].length && flag) {
            for (int i = 0; i < mat.length; i++) {
                if (res.contains(i)) continue;
                // Add first row with 0 into res
                if (mat[i][col] == 0) res.add(i);
                if (res.size() == k) {
                    flag = false;
                    break;
                }
            }
            col += 1;
        }
        if (flag) {
            // if res less than k
            for (int i = 0; i < mat.length; i++) {
                if (res.contains(i)) continue;
                res.add(i);
                if (res.size() == k) break;
            }
        }
        int[] ret = new int[k];
        for (int i = 0; i < k; i++) ret[i] = res.get(i);
        return ret;
    }
}

Curly hair, very fair, please share 🙂