首页 > 代码库 > IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
问题描述:
求一个矩阵中最大的二维矩阵(元素和最大).如:
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5
中最大的是:
4 5
9 10
分析:
2*2子数组的最大和。遍历求和,时间复杂度为O(mn)。
代码实现:
1 // 35.cc 2 #include <iostream> 3 #include <climits> 4 using namespace std; 5 6 int find_max(int (*a)[5], int m, int n) { 7 int max_sum = INT_MIN; 8 int sum; 9 10 for (int i = 0; i < m - 1; i++) {11 for (int j = 0; j < n - 1; j++) {12 sum = a[i][j] + a[i+1][j] + a[i][j+1] + a[i+1][j+1];13 max_sum = max(max_sum, sum);14 }15 }16 return max_sum;17 }18 19 int main() {20 int a[3][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {1, 2, 3, 4, 5}};21 cout << find_max(a, 3, 5) << endl;22 return 0;23 }
IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。