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

手机建设网站目的/成都网络运营推广

手机建设网站目的,成都网络运营推广,网页编辑可视化软件,网站内容建设整改工作一.题目要求 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[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 2311

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

四.解题思路

没什么可说的 官方解法是优化后的
在这里插入图片描述

五.代码实现

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {set<int> zeroh,zerol;vector<vector<int>>::iterator it;vector<int>::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 (set<int>::iterator it = zeroh.begin(); it != zeroh.end(); it++){for (vector<int>::iterator itl = matrix[*it].begin(); itl != matrix[*it].end(); itl++){*itl = 0;}}for (set<int>::iterator it = zerol.begin(); it != zerol.end(); it++){for (vector<vector<int>>::iterator ith = matrix.begin(); ith != matrix.end(); ith++){(*ith)[*it] = 0;}}}
};

官方给的优化方法

class Solution {
public:void setZeroes(vector<vector<int>>& 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.jmfq.cn/news/5361409.html

相关文章:

  • 网站建设外包兼职平台/域名查询大全
  • 大同市建设工程招标投标网站/百度广告推广费用
  • 网站建设的宽带指标要求/网站建设有多少公司
  • 一个企业网站的建设流程/seo顾问咨询
  • 建设注册中心网站/百度广告联盟怎么赚钱
  • 锡盟网站建设/免费开发网站
  • 网站建设的几个要素/推广平台有哪些
  • 合同纠纷网站建设/推广优化网站
  • 周口千慧网站建设/会计培训
  • 新疆电力建设质监站网站/seo搜索引擎优化实训报告
  • 建设项目公示网站/关键词排名关键词优化
  • 办事处网站建设/网络营销方法有哪些?
  • 日照建设信息网站/网络营销概念
  • 杭州建设实名制报备网站/seo是什么品牌
  • 推荐盐城网站建设/百度竞价员
  • 本地建设网站软件/廊坊seo网站管理
  • 贵州城乡和住房建设厅网站/专业做加盟推广的公司
  • 丽水市城乡建设局网站/网络视频营销平台
  • 街区网站建设/廊坊快速优化排名
  • 安徽省港航建设投资集团网站/重庆百度竞价推广
  • 寿阳网站建设/今日头条搜索引擎
  • 网站建设预算明细表/百度网络推广怎么收费
  • 苏州网站建设推广服务/怎么推广游戏叫别人玩
  • 临沂网站设计建设/海外广告优化师
  • 第三方商城网站建设/苹果自研搜索引擎或为替代谷歌
  • 网站建设的栏目策划/深圳网络营销推广方案
  • 京东网站建设项目需求分析报告/北京seo管理
  • 济南网站建设外包公司/58百度搜索引擎
  • 餐饮网站建设方案书/seo是什么缩写
  • 温岭网站建设联系电话/优化设计四年级上册语文答案