求一个矩阵中最大的二维矩阵(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
要求:(1)写出算法;(2)分析时间复杂度;(3)用 C 写出关键代码
思路:
自己没想到好的方法..在网上找到的都是时间复杂度是O(m*n)的算法..也就是遍历整个矩阵..这个感觉有点小不爽..
public class Q35 {
public static void main(String[] args) {
int[][] matrix = {{1,2,0,3,4},{2,3,4,5,1},{1,1,5,3,0}};
int max = Integer.MIN_VALUE;
int x,y;
for(int i = 0;i<=1;i++)
for(int j = 0;j <= 3;j++)
{
int num = matrix[i][j] + matrix[i][j+1] + matrix[i+1][j] + matrix[i+1][j+1];
if(num > max)
max = num;
}
for(int[] array:matrix)
{
}
System.out.println(max);
}
}