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

做色情网站会怎么样网络营销专业介绍

做色情网站会怎么样,网络营销专业介绍,安徽省工程建设信息网职称查询,如何申请域名做网站知乎矩阵场景的解题应用C 矩阵置零螺旋矩阵旋转图像搜索二维矩阵 II 矩阵置零 采用定义两个数组row[m],col[n]分别表示所有的行和列 然后遍历原矩阵 如果矩阵matrix[i][j] 0时 就直接令row[i] col[j]0; 最后再遍历一次数组,如果row[i]或者col[j]为0则令该元素为0 class …

矩阵场景的解题应用C++

  • 矩阵置零
  • 螺旋矩阵
  • 旋转图像
  • 搜索二维矩阵 II

矩阵置零

在这里插入图片描述
在这里插入图片描述

采用定义两个数组row[m],col[n]分别表示所有的行和列 然后遍历原矩阵 如果矩阵matrix[i][j] ==0时 就直接令row[i]= col[j]=0;
最后再遍历一次数组,如果row[i]或者col[j]为0则令该元素为0

class Solution{
public:void setZeros(vector<vector<int>>& matrix){int m = matrix.size();int n = matrix[0].size();vector<int> row(m),col(n);for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(!matrix[i][j]){row[i] = col[j] = 1;}}}for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(row[i]||col[j]){matrix[i][j] = 0;}}}}
};

螺旋矩阵

在这里插入图片描述
在这里插入图片描述

定义矩阵的上下左右边界,然后模拟矩阵的螺旋过程

class Solution{
public:vector<int> spiralOrder(vector<vector<int>>& matrix){if(matrix.size()==0||matrix[0].size()==0){return {};}int m = matrix.size();int n = matrix[0].size();int l=0,r=n-1,t=0,b=m-1;vector<int> ans;while(ans.size()<m*n){for(int i=l;i<=r;i++){ans.emplace_back(matrix[t][i]);}if(++t>b) break;for(int i=t;i<=b;i++){ans.emplace_back(matrix[i][r]);}if(--r<l) break;for(int i=r;i>=l;i--){ans.emplace_back(matrix[b][i]); }if(--b<t) break;for(int i=b;i>=t;i--){ans.emplace_back(matrix[i][l]);}if(++l>r) break;}return ans;}
};

旋转图像

在这里插入图片描述
在这里插入图片描述

这里介绍两种做法:
一个是观察翻转矩阵的规律
二是通过矩阵的上下翻转+对角线翻转


通过观察发现矩阵中第i行的第j个元素,在旋转后,他出现在倒数第i列的第j个位置

class Solution{
public:void rotate(vector<vector<int>>& matrix){int n = matrix.size();auto matrix_new = matrix;for(int i=0;i<n;i++){for(int j=0;j<n;j++){matrix_new[j][n-i-1] = matrix[i][j];}}//这里也是值拷贝matrix = matrix_new;}
}

第二种方法是用翻转代替旋转
通过上下翻转可以得到:matrix[row][col] -> matrix[n-row-1][col]
再通过主对角线翻转可以得到:matrix[row][col]->marix[col][row]
最后将两者联立即可得到:
matrix[col][n-row-1] = matrix[row][col]

class Solution{
public:void rotate(vector<vector<int>>& matrix){int n = matrix.size();//水平翻转for(int i=0;i<n/2;i++){for(int j=0;j<n;j++){swap(matrix[i][j],matrix[n-i-1][j]);}}//主对角线线翻转for(int i=0;i<n;i++){for(int j=0;j<i;j++){swap(matrix[i][j],matrix[j][i]);}}}
};

搜索二维矩阵 II

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里介绍两种做法:
1.对矩阵进行遍历查找,从[0][0]开始,并且判断如果下一个数(按列)大于了target就break;按行也可判断如果下一行的第一个元素如果大于target,也直接break。
2.对每一行使用一次二分查找,判断target是否在该行

class Solution{
public:bool searchMatrix(vector<vector<int>>& matrix,int target){int m = matrix.size();int n = matrix[0].size();for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(matrix[i][j]==target) return true;if(matrix[i][j+1]>target&&(j+1)<n) break;}if(matrix[i+1][0]>target&&(i+1)<m) break;}return false;}
}

方法二

class Solution{
public:bool searchMatrix(vector<vector<int>>& matrix,int target){for(const auto& row:matrix){auto it = lower_bound(row.begin(),row.end(),target);if(it!=row.end() && *it==target){return true;}}return false;}
}
http://www.dtcms.com/wzjs/53193.html

相关文章:

  • 手机版网站开发如何制作app软件
  • 济南有哪些网站是做家具团购的青岛自动seo
  • 郑州网站制作福州seo博客
  • 无上升级系统南昌seo全网营销
  • 那些空号检测网站是怎么做的提高搜索引擎排名
  • 做网站数据库多少钱百度快照收录入口
  • 做网站兼职荥阳网络推广公司
  • 网站建设背景朝阳百度推广联系方式
  • 永州城乡建设网站2022年近期重大新闻事件
  • 泸州市住房和城乡建设局网站新东方考研班收费价格表
  • 建设安全备案登入那个网站搜索引擎平台有哪些软件
  • 北京企业网站设计公司唐老鸭微信营销软件
  • 软件开发的步骤流程企业网站搜索优化网络推广
  • 谷歌怎么把两个网站做反链友情链接什么意思
  • 介绍做网站的标题seo 推广教程
  • 小型企业类网站开发公司重庆网站制作
  • 邹城哪个公司做网站好sem推广托管公司
  • 网站开发人员的要求免费网站统计工具
  • 网站建设所需人力sem优化是什么意思
  • 设计电子商务网站个人网站怎么做
  • wordpress 自定义鼠标关键词排名优化江苏的团队
  • 做网站的去哪找私活简述如何优化网站的方法
  • 微网站 建设关键词优化软件排行
  • 网站开发有啥作用热狗seo顾问
  • 江苏做网站价格大丰seo排名
  • 武汉企业网站优化百度一下你就知道百度一下
  • 网站怎么做关键词研究什么是淘宝搜索关键词
  • 多个wordpress站点同步免费注册
  • 如何在网站做qq群链接宁波企业seo外包
  • 昆明网站建设怎么样关键词优化的最佳方法