当前位置: 首页 > news >正文

网站设计步骤详解推销

网站设计步骤详解,推销,北京中联建设集团官网网站,盐城做百度网站给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 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],[…

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法

示例 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]
]

进阶:

  • 一个直接的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个常数空间的解决方案吗?

我的O(m+n)解法:

    public void setZeroes(int[][] matrix) {if (matrix.length == 0) {return;}int m = matrix.length;int n = matrix[0].length;HashSet<Integer> rows = new HashSet<>();HashSet<Integer> cols = new HashSet<>();for (int i=0;i<m;i++) {for (int j=0;j<n;j++) {if (matrix[i][j] == 0) {rows.add(i);cols.add(j);}}}for (Integer row : rows) {for (int i=0;i<matrix[0].length;i++) {matrix[row][i] = 0;}}for (Integer col : cols) {for (int i=0;i<matrix.length;i++) {matrix[i][col] = 0;}}}

 

参考解法:

不背下来一般想不到。。

空间复杂度 O(2) ,用两个布尔变量就可以解决。方法就是利用数组的首行和首列来记录 0 值。从数组下标的 A[1][1] 开始遍历,两个布尔值记录首行首列是否需要置0

class Solution {public void setZeroes(int[][] matrix) {boolean rowFlag = false;//判断首行for (int i = 0; i < matrix[0].length; i++) {if (matrix[0][i] == 0) {rowFlag = true;break;}}boolean colFlag = false;for (int i = 0; i < matrix.length; i++) {if (matrix[i][0] == 0) {colFlag = true;break;}}for (int i = 1; i < matrix.length; i++) {for (int j = 1; j < matrix[0].length; j++) {if (matrix[i][j] == 0){matrix[i][0] = 0;matrix[0][j] = 0;}}}for (int i = 1; i < matrix[0].length; i++) {if (matrix[0][i] == 0) {for (int j = 0; j < matrix.length; j++) {matrix[j][i] = 0;}}}for (int i = 1; i < matrix.length; i++) {if (matrix[i][0] == 0) {for (int j = 0; j < matrix[0].length; j++) {matrix[i][j] = 0;}}}if (rowFlag){for (int i = 0; i < matrix[0].length; i++) {matrix[0][i] = 0;}}if (colFlag){for (int i = 0; i < matrix.length; i++) {matrix[i][0] = 0;}}}
}

 

转载于:https://www.cnblogs.com/twoheads/p/10647912.html

http://www.wooajung.com/news/35207.html

相关文章:

  • 深圳网站建设 贝尔利友情链接论坛
  • 开发网站流程seo专业培训机构
  • 郑州做网站的大公司韶关新闻最新今日头条
  • 室内设计做效果图可以接单的网站中文搜索引擎排名
  • 绍兴网站建设技术外包什么叫营销
  • 衡水移动端网站建设win7优化工具
  • 中华建设网算什么级别网站百度关键词优化系统
  • 最专业的房地产网站建设新乡网络推广外包
  • 《网站基础建设-首保》女教师网课入06654侵录屏
  • 平度好的建设网站web成品网站源码免费
  • 做问卷比较好的网站排名优化公司
  • 新乡网站建设公司广告平台网站有哪些
  • 怎么保证网站安全性竞价托管多少钱
  • 商丘企业做网站关键词上首页的有效方法
  • cms做的网站胡源代码推广营销app
  • 做个网站成功案例公众号怎么做文章推广
  • html5个人网站模板百度搜索竞价排名
  • 网站认证主体培训机构招生方案
  • 个人网站制作wordpress全面网络推广营销策划
  • 我们的服务项目类型正版seo搜索引擎
  • 吕梁建站公司windows优化大师官网
  • 网站开发的教学网站地推团队去哪里找
  • 做足球网站前景免费创建网站平台
  • 巴彦淖尔网站制作全自动引流推广软件下载
  • 软件用户界面设计成都高薪seo
  • 网站建设海外推广 香港企业网站建设门户
  • 普洱做网站的报价建站abc
  • 做网站的用什么主机好本地推广平台
  • 网站开发都做些什么站长工具网站查询
  • 一个工厂做网站有什么好处百度收录方法