Lintcode405 Submatrix Sum solution 题解

【题目描述】

Given an integer matrix, find a submatrix where the sum of numbers is zero. Your code should return the coordinate of the left-up and right-down number.

给定一个整数矩阵,请找出一个子矩阵,使得其数字之和等于0.输出答案时,请返回左上数字和右下数字的坐标。

【题目链接】

www.lintcode.com/en/problem/submatrix-sum/

【题目解析】

这道题和求数组中哪些元素和为0的解决方法一样,只是数组中求的是前i个元素和前j个元素和相等,则i-j元素和为0,而这里只是变成2维的而已。

sum[i][j]表示matrix[0][0]到matrix[i-1][j-1]所有元素的和。

建立sum矩阵,为n+1行,m+1列。将第0行和第0列都初始化为0。

遍历matrix,根据公式 sum[i][j] = matrix[i - 1][j - 1] + sum[i][j - 1] + sum[i - 1][j] -sum[i - 1][j - 1] 计算所有sum。

然后取两个row:l1, l2。用一个线k从左到右扫过l1和l2,每次都用diff=sum[l1][k]-sum[l2][k]来表示l1-l2和0-k这个矩形元素的sum。如果在同一个l1和l2中,有两条线(k1,k2)的diff相等,则表示l1-l2和k1-k2这个矩形中的元素和为0。

【参考答案】

www.jiuzhang.com/solutions/submatrix-sum/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 13,033评论 0 33
  • thiele插值算法 1点插值算法 function [C,c]=thiele(X,Y,Z)%X为插值点横坐标,Y...
    00crazy00阅读 2,233评论 0 4
  • TF API数学计算tf...... :math(1)刚开始先给一个运行实例。tf是基于图(Graph)的计算系统...
    MachineLP阅读 4,151评论 0 1
  • 我无数次去想, 世界到底什么样? 是转身粲然的微笑, 还是低头不语时的美好, 是风吹过清晨的张扬, 还是雨滴落大地...
    冰兮阅读 260评论 5 2
  • 微博:小禾阿 首先在保证睡眠时间的基础上早晨六点起来真的不是难事,不要把它想成难上天的事情,基本上我的作息时间是晚...
    文阿璐阅读 1,324评论 0 2

友情链接更多精彩内容