29. 微软面试题:求一个矩阵中最大的二维矩阵(元素和最大)
2014-03-20 23:27
316 查看
题目:求一个矩阵中最大的二维矩阵(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码
分析:
直接遍历二维数组,求出最大的二维数组就OK了
实现如下:
输出如下:
max num: 17
matrix:
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写出关键代码
分析:
直接遍历二维数组,求出最大的二维数组就OK了
实现如下:
#include<iostream> using namespace std; int max_matrix(int (*array)[5], int maxx, int maxy, int& posi, int& posj) { int max = 0; int i = 0, j = 0; while(i < maxx - 1) { j = 0; while( j < maxy - 1) { int t = array[i][j] + array[i+1][j] + array[i][j+1] + array[i+1][j+1]; if( max < t) { max = t; posi = i; posj = j; } j ++; } i ++; } return max; } int main() { int a[3][5] = {{1,2,0,3,4}, {2,3,4,5,1}, {1,1,5,3,0}}; int i = 0, j = 0; int max = max_matrix(a, 3, 5, i, j); cout << "max num: " << max <<endl; cout << "matrix: " << endl; cout << a[i][j] << " " << a[i][j+1] << endl; cout << a[i+1][j] << " " << a[i+1][j+1] << endl; }
输出如下:
max num: 17
matrix:
4 5
5 3
相关文章推荐
- 微软算法100道题------求一个矩阵中最大的二维矩阵(元素和最大)
- 一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 一个H行L列的二维矩阵数组(整形),求每行的元素总和,并输出最大的那一行的总和
- 每天学习一算法系列(32)(求一个矩阵中最大的二维矩阵(元素和最大))
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 35 求一个矩阵中最大的二维矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
- 给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。
- 100题求一个矩阵中最大的二维矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 【每日面试题】求一个矩阵中最大的二维矩阵(元素和最大)
- 【编程题目】求一个矩阵中最大的二维矩阵(元素和最大)
- 每日一道算法题:求一个矩阵中最大的二维矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵 【微软面试100题 第三十五题】
- 求一个矩阵中最大的二维矩阵(元素和最大)