import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ColumnProducts {
public static int[] columnProducts(int[][] matrix) {
// Find the maximum row length
int maxCols = Arrays.stream(matrix)
.mapToInt(row -> row.length)
.max()
.orElse(0);
List<Integer> products = new ArrayList<>();
for (int col = 0; col < maxCols; col++) {
int product = 1;
for (int[] row : matrix) {
if (col < row.length) {
product *= row[col];
}
}
products.add(product);
}
// Convert List<Integer> → int[]
return products.stream().mapToInt(Integer::intValue).toArray();
}
public static void main(String[] args) {
int[][] matrix = {
{1, 2, 3},
{4, 5},
{6, 7, 8, 9}
};
int[] result = columnProducts(matrix);
System.out.println("Column products: " + Arrays.toString(result));
}
}
/*
run:
Column products: [24, 70, 24, 9]
*/