求一个矩阵中最大的二维矩阵(元素和最大)
2013-06-28 11:27
309 查看
/* copyright@nciaebupt 转载请注明出处 题目:求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5 3 要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码 */ #include <cstdlib> #include <iostream> void max2DSubMatrix(int matrix[][5],int rowlen, int collen, int res[2][2]){ if(matrix == NULL || rowlen < 1 || collen < 1) return; int sum = 0; for(int i = 1; i < rowlen; ++i){ for(int j = 1; j < collen; ++j){ int tmp = matrix[i-1][j-1] + matrix[i-1][j] + matrix[i][j-1] + matrix[i][j]; if(tmp > sum){ sum = tmp; res[0][0] = matrix[i-1][j-1]; res[0][1] = matrix[i-1][j]; res[1][0] = matrix[i][j-1]; res[1][1] = matrix[i][j]; } } } return; } int main(int argc, char ** argv){ int matrix[][5] = {{1,2,0,3,4},{2,3,4,5,1},{1,1,5,3,0}}; int rowlen = sizeof(matrix)/sizeof(matrix[0]); int collen = sizeof(matrix)/(rowlen * sizeof(int)); int res[2][2]; max2DSubMatrix(matrix, rowlen, collen, res); for(int i = 0; i < 2; ++i){ for(int j = 0; j < 2; ++j){ std::cout<<res[i][j]<<" "; } std::cout<<std::endl; } system("pause"); return 0; }
相关文章推荐
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大).
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 一个矩阵中最大的二维矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 一个H行L列的二维矩阵数组(整形),求每行的元素总和,并输出最大的那一行的总和
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 每日一道算法题:求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 【编程题目】求一个矩阵中最大的二维矩阵(元素和最大)
- 微软算法100道题------求一个矩阵中最大的二维矩阵(元素和最大)
- 【每日面试题】求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
- 每天学习一算法系列(32)(求一个矩阵中最大的二维矩阵(元素和最大))
- 100题求一个矩阵中最大的二维矩阵(元素和最大)
- 给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。
- 29. 微软面试题:求一个矩阵中最大的二维矩阵(元素和最大)