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

中国工业设计网站网站建设 开发

中国工业设计网站,网站建设 开发,金塔凯元建设集团有限公司官方网站,上饶市建设局培训网站解题思路 在 代码注释中&#xff01; 文章目录 73. 矩阵置零54. 螺旋矩阵48. 旋转图像240. 搜索二维矩阵 II 73. 矩阵置零 class Solution { public:void setZeroes(vector<vector<int>>& matrix) {// 难点&#xff1a;原地算法// 直接复用 matrix 第一行 和 …

解题思路 在 代码注释中!

文章目录

    • 73. 矩阵置零
    • 54. 螺旋矩阵
    • 48. 旋转图像
    • 240. 搜索二维矩阵 II

73. 矩阵置零

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {// 难点:原地算法// 直接复用 matrix 第一行 和 第一列,但是会 覆盖, 所以  单独两个变量 记录 第一行,第一列// 单独两个变量 记录 第一行,第一列int r0 = 1, c0 = 1;int n = matrix.size(), m = matrix[0].size();for(int j = 0;j < m;j ++ ) {if(matrix[0][j] == 0) r0 = 0;}for(int i = 0;i < n;i ++ ){if(matrix[i][0] == 0) c0 = 0;}for(int i = 1;i < n;i ++ ){for(int j = 0; j < m;j ++ ){if(matrix[i][j] == 0) matrix[0][j] = matrix[i][0] = 0;}}// 置0for(int j = 1; j < m;j ++ ){if(matrix[0][j] == 0){for(int i = 0;i < n;i ++ ) matrix[i][j] = 0;}}for(int i = 1;i < n;i ++ ){if(matrix[i][0] == 0){for(int j = 0;j < m;j ++ ) matrix[i][j] = 0;}}// 单独的行列if(!r0)for(int j = 0;j < m;j ++ ) matrix[0][j] = 0;if(!c0)for(int i = 0;i < n;i ++ ) matrix[i][0] = 0;}
};

54. 螺旋矩阵

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {// 方向矢量 模拟int n = matrix.size(), m = matrix[0].size();int k = 0;int dx[4] = {-1,0,1,0}, dy[] = {0,1,0,-1};bool st[n][m];memset(st, 0, sizeof st);vector<int> res;int x = 0, y = 0, d = 1;int a, b;while(k < n * m){res.push_back(matrix[x][y]);st[x][y] = true;int a = x + dx[d], b = y + dy[d];if(a < 0 || a >= n || b < 0 || b >= m || st[a][b]) {d = (d + 1) % 4;a = x + dx[d], b = y + dy[d];}x = a, y = b;k ++ ;}return res;}
};

48. 旋转图像

class Solution {
public:void rotate(vector<vector<int>>& matrix) {// 原地算法// 先 对角线翻转(=顺时针180), 然后 左右翻转(=逆时针90) = 顺时针旋转 90 度int n = matrix.size(), m = matrix[0].size();// 对角线 翻转for(int i = 0;i < n;i ++ ){for(int j = 0;j < i;j ++ ){swap(matrix[i][j], matrix[j][i]);}}// 左右翻转for(int i = 0; i < n;i ++ ){for(int j = 0, k = m - 1; j < k;j ++ , k -- ) swap(matrix[i][j], matrix[i][k]);}}
};

240. 搜索二维矩阵 II

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {// 从右上角开始 搜索int n = matrix.size(), m = matrix[0].size();int i = 0, j = m - 1;while(i < n && j >= 0){if(target > matrix[i][j]) i ++ ;else if(target < matrix[i][j]) j -- ;else if(target == matrix[i][j]) return true;}return false;}
};
http://www.yayakq.cn/news/196835/

相关文章:

  • 怎么查网站备案接入商做网站需要切图吗
  • 创建网站无法播放视频注册空壳公司判几年
  • 七牛图片样式wordpress淘客网站seo怎么做
  • 刚刚大连发布紧急通知西宁整站优化
  • 正规网站制作公司是哪家舆情监测系统永久免费
  • 网站开发的学习路线qt网站开发
  • 做游戏网站需要哪些许可淮安网站设计公司
  • 洛阳霞光网络建站公司怎样做网站静态
  • 山东金城建设网站怎么用2013做网站
  • 申请网站空间有哪几种方式医学ppt模板免费下载 素材
  • 备案查询网站北京西站进站最新规定
  • 中国建设基础设施公司网站做h5单页的网站
  • 谁有手机网站啊介绍一下公司网站制作有哪些
  • 新手做网站服务器用什么微网站 注册
  • 廊坊cms模板建站南京免费发布信息网站
  • 运河建设管理网站建筑工程网格化管理实施方案
  • 企业网站每年的费用中英文 wordpress
  • 宁德市医院关键词优化的软件
  • 上海做网站那家好做网站汉中
  • 长沙网站制作费用怀化新站优化
  • 怎样做某个网站有更新的提醒纸巾 技术支持 东莞网站建设
  • 企业网站做留言板有什么优势企业做网站维护价格
  • 网页提示站点不安全高质量外链平台
  • 采集站seo赚钱辅导班自己做网站视频
  • 网站分享模板房地产销售新手必学知识
  • 网站输入一级域名自动跳转二级域名手机怎么登录微信网页版
  • 卸载西部数码网站管理助手团队建设思路和方案
  • 建设外汇网站wordpress重置
  • 简单的企业网站cmswordpress怎么实现实时刷新
  • 做期货资讯网站手机网站报价单模板下载