博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Set Matrix Zeroes 解题报告
阅读量:7089 次
发布时间:2019-06-28

本文共 1160 字,大约阅读时间需要 3 分钟。

Given a 
m x 
n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Follow up:
Did you use extra space?
A straight forward solution using O(
m
n) space is probably a bad idea.
A simple improvement uses O(
m + 
n) space, but still not the best solution.
Could you devise a constant space solution?
[解题思路]
非常无聊的一道题。解题点就在于清空标志位存在哪里的问题。可以创建O(m+n)的数组来存储,但此题是希望复用已有资源。这里可以选择第一行和第一列来存储标志位。
1.先确定第一行和第一列是否需要清零
2.扫描剩下的矩阵元素,如果遇到了0,就将对应的第一行和第一列上的元素赋值为0
3.根据第一行和第一列的信息,已经可以讲剩下的矩阵元素赋值为结果所需的值了
4.根据1中确定的状态,处理第一行和第一列。
[Code]
1:    void setZeroes(vector
> &matrix) { 2: // Start typing your C/C++ solution below 3: // DO NOT write int main() function 4: assert(matrix.size()>0); 5: int row = matrix.size(), col = matrix[0].size(); 6: bool zerorow=false, zerocol=false; 7: for(int i = 0; i< col; i++) 8: if(matrix[0][i] ==0) 9: zerorow = 1; 10: for(int i = 0; i< row; i++) 11: if(matrix[i][0] ==0) 12: zerocol=1; 13: for(int i =1; i < row; i++) 14: for(int j = 1; j

转载于:https://www.cnblogs.com/codingtmd/archive/2013/01/06/5078954.html

你可能感兴趣的文章
Flutter杂症( flutter packages pub run build_runner build )
查看>>
LeetCode集锦(二) - reverse integer
查看>>
Java开发者职业生涯要看的200+本书
查看>>
JavaScript 中的 JSON
查看>>
DDD与面向对象设计
查看>>
Remove.bg 免費圖片去背線上工具,5 秒輕鬆幫人物去背景,連我阿嬤都會去背!- TechMoon 科技月球...
查看>>
JavaScript基础知识-(对象)
查看>>
tail: 输出文件的末尾部分
查看>>
小猿圈web前端开发面试需要注意哪些?
查看>>
java之映射
查看>>
Docopt命令行库
查看>>
阿里云数据管理DMS企业版发布年度重大更新 多项功能全面升级
查看>>
BCH(比特币现金):比特币最成功补丁,价值第一的中国区块链项目
查看>>
laravel 多数据库操作
查看>>
小网客博客
查看>>
为python添加tab自动补全功能
查看>>
用Node.js 写web框架(三)
查看>>
强行重置Mysql的账号密码
查看>>
centos7 搭建svn服务器
查看>>
利用netca创建数据库时监听器没有启动引发的错误
查看>>