当前位置: 首页 > 后端技术 > Java

LeetCode-073-MatrixZero

时间:2023-04-02 01:35:40 Java

MatrixZero题目描述:给定一个mxn矩阵,如果一个元素为0,则将其行和列中的所有元素都设置为0。请使用原地算法。高级:一个直观的解决方案是使用O(mn)额外空间,但这不是一个好的解决方案。一个简单的改进是使用O(m+n)的额外空间,但这仍然不是最佳解决方案。你能想出一个只使用恒定空间的解决方案吗?例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:穷举法首先声明两个List分别为zeroRows和zeroColumns记录0元素在行和列中的行号和列号,然后double遍历矩阵数组两次,分别得到已有元素为0的zeroRows和zeroColumns中存放数组的行列号,最后遍历zeroRows和zeroColumns中的行列号,将矩阵数组中对应行列的值全部置0。说明:这是最愚蠢的方法,需要优化。importjava.util.ArrayList;importjava.util.List;publicclassLeetCode_073{publicstaticvoidsetZeroes(int[][]matrix){ListzeroRows=newArrayList<>();ListzeroColumns=newArrayList<>();//获取哪些行有元素0for(inti=0;i