Skip to main content

Command Palette

Search for a command to run...

code in java

Updated
•1 min read•View as Markdown
import java.util.ArrayList;
import java.util.List;

public class LuckyNumberMatrix {
    public static List<Integer> luckyNumbers(int[][] matrix) {
        List<Integer> luckyNumbers = new ArrayList<>();

        for (int i = 0; i < matrix.length; i++) {
            // Step 1: Find the minimum element in the current row
            int minVal = matrix[i][0];
            int minColIndex = 0;
            for (int j = 1; j < matrix[i].length; j++) {
                if (matrix[i][j] < minVal) {
                    minVal = matrix[i][j];
                    minColIndex = j;
                }
            }

            // Step 2: Check if this minimum is the maximum in its column
            boolean isMaxInCol = true;
            for (int k = 0; k < matrix.length; k++) {
                if (matrix[k][minColIndex] > minVal) {
                    isMaxInCol = false;
                    break;
                }
            }

            // Step 3: If it's both the row min and column max, it's a lucky number
            if (isMaxInCol) {
                luckyNumbers.add(minVal);
            }
        }

        return luckyNumbers;
    }

    public static void main(String[] args) {
        int[][] matrix = {
            {3, 7, 8},
            {9, 11, 13},
            {15, 16, 17}
        };

        List<Integer> result = luckyNumbers(matrix);
        System.out.println("Lucky Numbers: " + result);
    }
}

More from this blog

codebhghvhv

34 posts