Array:给定一个矩阵,返回子矩阵的最大和

public static int maxSum1(int[][] m){
        if (m==null||m.length==0||m[0].length==0) {
            return 0;
        }
        int cur = 0;
        int max = Integer.MIN_VALUE;
        int[] s = null;
        for (int i = 0; i < m.length; i++) {
            s = new int[m[i].length];
            for (int j = i; j < m.length; j++) {
                cur = 0;
                for (int k = 0; k < s.length; k++) {
                    s[k] += m[j][k];
                    cur+=s[k];
                    max = Math.max(cur, max);
                    cur = cur<0?0:cur;
                    
                }
            }
        }
        return max;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容