zoukankan      html  css  js  c++  java
  • [itint5]最大子矩阵和

    http://www.itint5.com/oj/#39

    最大子矩阵和,复杂度O(n^3)。利用了最大子段和的方法。

    int maxRectSum(vector<vector<int> > &matrix) {
        int n = matrix.size();
        if (n == 0) return 0;
        int m = matrix[0].size();
        if (m == 0) return 0;
        int max = 0;
        for (int i = 0; i < m; i++) {
            vector<int> vec(n);
            for (int j = i; j < m; j++) {
                for (int k = 0; k < n; k++) {
                    vec[k] += matrix[k][j];
                }
                // vec[k]: sum of row k, from i to j
                int sum = 0;
                for (int k = 0; k < n; k++) {
                    if (sum < 0) sum = 0;
                    sum += vec[k];
                    if (sum > max) max = sum;
                }
            }
        }
        return max;
    }
    

      

  • 相关阅读:
    刘志博 作业 2.15
    刘志博 作业2.6
    作业一
    2.6
    张靖悦
    java 2.15
    java 2.6
    java 1.12
    java 1.8
    java 1.3
  • 原文地址:https://www.cnblogs.com/lautsie/p/3529531.html
Copyright © 2011-2022 走看看