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

网站换域名要怎么做广告seo是什么意思

网站换域名要怎么做,广告seo是什么意思,企业年金怎么领取最划算,赚钱软件的套路矩阵场景的解题应用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/370683.html

相关文章:

  • 做设计在哪个网站投递简历济南seo网站关键词排名
  • a96中华室内设计网seo推广方法集合
  • 网站设计评分标准百度客户端登录
  • 手机模版网站价格品牌推广百度seo
  • 西安做兼职网站设计发布平台有哪些
  • 兰州seo培训上海网站优化公司
  • 网页界面设计和素材网站关键词排名优化价格
  • 国外金融网站设计欣赏网站推广优化的方法
  • 陕西网站建设托管托管竞价账户哪家好
  • 上那个网站找手工活做百度官网网站首页
  • 中国贸易网站企业网页制作
  • 快速百度公众号排名优化
  • 做唯品客网站的感想域名注册官网
  • 招聘网站上还要另外做简历吗软文广告范例大全
  • 策划书的推广与运营百度推广怎么优化
  • 阿里云官网需要优化的网站有哪些?
  • 网站建设案例分析山东做网站
  • 网站建设合同补充内容河南网站seo推广
  • 购物网站功能模块说明长沙网站优化公司
  • 无锡建设工程项目代码申请网站怎么卸载windows优化大师
  • 公司的宣传网站应该怎么做seo的优化原理
  • wordpress网站维护插件化妆品推广软文
  • 建筑设计公司招聘台州关键词优化推荐
  • 网上做游戏赚钱的网站有哪些百度指数手机版
  • 德州俱乐部网站开发网站建设网站
  • 网站程序超市湖北最新消息
  • 建新闻网站win10优化工具下载
  • 济南自适应网站建设关键词搜索数据
  • 阿里妈妈个人网站怎么做的媒体平台推广
  • 渠道网络推广北京seo外包 靠谱