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

济南网站建设-中国互联网站开发配置状态统计

济南网站建设-中国互联,网站开发配置状态统计,网站seo策划,重庆建设造价信息网站一.题目要求 给定一个 m x n 的矩阵#xff0c;如果一个元素为 0 #xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1#xff1a; 输入#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出#xff1a;[[1,0…一.题目要求 给定一个 m x n 的矩阵如果一个元素为 0 则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1 输入matrix [[1,1,1],[1,0,1],[1,1,1]] 输出[[1,0,1],[0,0,0],[1,0,1]] 示例 2 输入matrix [[0,1,2,0],[3,4,5,2],[1,3,1,5]] 输出[[0,0,0,0],[0,4,5,0],[0,3,1,0]] 提示 m matrix.length n matrix[0].length 1 m, n 200 − 2 31 -2^{31} −231 matrix[i][j] 2 31 − 1 2^{31} - 1 231−1 进阶 一个直观的解决方案是使用 O(mn) 的额外空间但这并不是一个好的解决方案。 一个简单的改进方案是使用 O(m n) 的额外空间但这仍然不是最好的解决方案。 你能想出一个仅使用常量空间的解决方案吗 四.解题思路 没什么可说的 官方解法是优化后的 五.代码实现 class Solution { public:void setZeroes(vectorvectorint matrix) {setint zeroh,zerol;vectorvectorint::iterator it;vectorint::iterator itt;for (it matrix.begin(); it ! matrix.end(); it){for (itt (*it).begin(); itt ! (*it).end(); itt){if (*itt 0){zeroh.insert(it - matrix.begin());zerol.insert(itt - (*it).begin());}}}for (setint::iterator it zeroh.begin(); it ! zeroh.end(); it){for (vectorint::iterator itl matrix[*it].begin(); itl ! matrix[*it].end(); itl){*itl 0;}}for (setint::iterator it zerol.begin(); it ! zerol.end(); it){for (vectorvectorint::iterator ith matrix.begin(); ith ! matrix.end(); ith){(*ith)[*it] 0;}}} };官方给的优化方法 class Solution { public:void setZeroes(vectorvectorint matrix) {bool firstRowZero false, firstColZero false;int rows matrix.size(), cols matrix[0].size();// Determine if the first row or first column is all zerosfor (int i 0; i rows; i) {if (matrix[i][0] 0) {firstColZero true;break;}}for (int j 0; j cols; j) {if (matrix[0][j] 0) {firstRowZero true;break;}}// Use first row and column as markers, set matrix[i][0] and matrix[0][j] to 0 if matrix[i][j] is 0for (int i 1; i rows; i) {for (int j 1; j cols; j) {if (matrix[i][j] 0) {matrix[i][0] 0;matrix[0][j] 0;}}}// Zero out cells based on the first row and columnfor (int i 1; i rows; i) {for (int j 1; j cols; j) {if (matrix[i][0] 0 || matrix[0][j] 0) {matrix[i][j] 0;}}}// Zero out the first row and column if neededif (firstColZero) {for (int i 0; i rows; i) matrix[i][0] 0;}if (firstRowZero) {for (int j 0; j cols; j) matrix[0][j] 0;}} };六.题目总结 无
http://www.hkea.cn/news/14268718/

相关文章:

  • 网站做装修效果图手机如何做微商城网站设计
  • 做类似58类型网站网站轮播图用啥软件做
  • 长沙微信网站wordpress一句话插件
  • 网站建设服务费如何做会计分录赚钱软件哪个赚钱多又快
  • 旅游网站建设开发58黄页
  • 网站怎么在成都备案qq小程序打不开怎么办
  • 建设银行官网网站人事东莞没有网站的公司
  • 建设网站的编程过程做服务网站要多少钱
  • 什么样的网站域名好陕西省住房城乡建设厅网站管理中心
  • 中国航空集团建设开发有限公司网站盐城手机网站建设
  • 绍兴市建设银行网站一个网站开发
  • 安徽二建注销网站在哪查询简述企业网站维护的重要性
  • 做设计用的素材下载网站十大wordpress主题
  • 做一斗地主网站多少钱网站登录密码忘记了
  • 宁波品牌网站建设手机网站免费建设平台
  • 什么网站做美式软装设计服装网站建设项目规划书
  • 青岛创世网络网站建设红色ppt模板免费下载
  • 网站片头怎么做洛阳网电脑版
  • 做网站用上面软件写代码比较好顺德网站建设怎么样
  • 游戏钓鱼网站怎么做窍门天下什么人做的网站
  • 北京微信网站建设公司网站一般用什么服务器
  • vue商城模板seo排名优化推广报价
  • 网站导航东莞建网站公司平台
  • 做汽车行业必须注册际零件网站数码科技网站
  • 网站数据没有更新网站制作过程简介
  • 没有备案的网站怎么访问北京电信备案网站
  • 青海城乡与建设厅网站遂宁商城网站建设报价
  • 建设部人才交流中心网站百度权重2的网站
  • 网站功能优化的方法网上商城推广文案
  • 网站站内关键词优化苏州高端网站建设咨询