问题
编程题:输入整数N(N<=2<=10),再输入N*N方阵中的全部数据,计算方正每列元素的最大值之和,并输出。
例如:4*4的方阵数据如下:
1 2 3 4
5 6 7 2
6 7 8 8
7 6 4 1
则各列的最大值分别为 7 7 8 8,则输出的结果为30
分析
- 二维数组存储,取出每列的最大值
Java实现
public static void test04(){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[][] a = new int[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = sc.nextInt();
}
}
int sum = 0;
for (int i = 0; i < N; i++) {
int max = a[0][i];
for (int j = 0; j < N; j++) {
if (a[j][i] > max){
max = a[j][i];
}
}
sum += max;
}
System.out.print(sum);
}
- 时间复杂度:O(n^2)
- 空间复杂度:O(n^2)