示例 1:
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例 2:
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
作者:LeetCode
链接:https://leetcode.cn/leetbook/read/array-and-string/ciekh/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
每次找到等于零的那一个把对应的行和列都置零即可,但是会出现一个问题就是到最后所有的元素都变成零了;
因此,既然打算将整行和整列清零,因此并不需要标记录它是cell[2][4](行2,列4),只需要知道行2有个元素为0,列4有个元素为0.不管怎样,整行和整列都要清零,又何必要记录零元素的确切位置?
作者:DonYong
链接:https://leetcode.cn/leetbook/read/array-and-string/ciekh/?discussion=JGA6Zo
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
考虑到了如果不做标记话会全部置零的情况,但一开始是对确切位置的记录,但是大佬的思路就显得巧妙了,对行和列单独记录。
得以借鉴!
- package Day2;
-
- public class Test3 {
- public static void SetZeros(int[][] matrix) {
- boolean[] row= new boolean[matrix.length];
- boolean[] column= new boolean[matrix.length];
- int m=matrix.length;
- int n=matrix[0].length;
- for(int i=0;i
- for(int j=0;j
- if(matrix[i][j]==0) {
- row[i]=true;
- column[j]=true;
- }
- }
- }
-
- for(int i=0;i
- for(int j=0;j
- if(row[i]||column[j]) {
- matrix[i][j]=0;
- }
- System.out.print(matrix[i][j]);
- }
- System.out.println();
- }
- }
-
- public static void main(String[] args) {
- int[][] a= {{0,1,2},{1,2,3},{0,5,6}};
- SetZeros(a);
- }
-
- }
-
相关阅读:
FPGA实现AXI4总线的读写_如何写axi4逻辑
最新ACR15.0新功能如何使用?ps插件camera raw15.0mac版新功能教程
LVS,Nginx,Haproxy三种负载均衡产品的对比
OSC classification and application scenarios
开源大语言模型作为 LangChain 智能体
科学家探索用于光电子的二维半导体
《A Simple Baseline for BEV Perception Without LiDAR》论文笔记
ORB-SLAM2_RGBD_DENSE_MAP编译、问题解决、离线加载TUM数据和在线加载D435i相机数据生成稠密地图
创建型模式-原型模式
【Java】可变参数
-
原文地址:https://blog.csdn.net/m0_64132509/article/details/136607335