每日习题015-等和矩阵分割 I
等和矩阵分割 I解读给一个正整数组成的矩阵判断是否可以通过一条水平或者垂直分割线将矩阵分为两个部分非空且和相等思路第一眼感觉和14习题有点像我们同样可以用2个数组来分别存储当前行/列的前i行/列元素总和只要刚好等于总和一半就成功了。还需要注意的一点是单个元素值≤ 10⁵矩阵总元素个数≤ 10⁵如果理论最大情况将会到10的10次方超过了int型的存储极限≈ 2×10⁹。class Solution { public boolean canPartitionGrid(int[][] grid) { int w grid[0].length; int h grid.length; long weight [] new long [w]; long height [] new long [h]; long row 0L; for(int i0;ih;i){ int status 0; for(int j0;jw;j){ height[i] grid[i][j]; weight[j] grid[i][j]; row grid[i][j]; } } long now 0L; for(int i0; ih-1; i){ long c height[i]; now c; if(now*2 row){ return true; } if(now*2 row){ break; } } now 0L; for(int i0; iw-1; i){ long c weight[i]; now c; if(now*2 row){ return true; } if(now*2 row){ break; } } return false; } }