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

爱站网长尾词挖掘全国首批9所重点马院网站建设

爱站网长尾词挖掘,全国首批9所重点马院网站建设,网站建设公司豆瓣,关键词排名工具有哪些1.矩阵置0 思路分析#xff1a;使用标记数组 记录需要置为 0 的行和列#xff1a;使用两个布尔数组 zeroRows 和 zeroCols 来记录需要置为 0 的行和列两次遍历 第一遍遍历整个矩阵#xff0c;找到所有为0的元素#xff0c;并更新zeroRows和zeroCols#xff1b;第二遍遍历…1.矩阵置0 思路分析使用标记数组 记录需要置为 0 的行和列使用两个布尔数组 zeroRows 和 zeroCols 来记录需要置为 0 的行和列两次遍历 第一遍遍历整个矩阵找到所有为0的元素并更新zeroRows和zeroCols第二遍遍历依照zeroRows和zeroCols的状态将对应的行和列元素置为0时间复杂度为 O(m * n)空间复杂度为 O(m n)其中 m 和 n 分别是矩阵的行数和列数。 具体实现代码详解版 class Solution { public:void setZeroes(vectorvectorint matrix) {if (matrix.empty()) return;int rows matrix.size();int cols matrix[0].size();vectorbool zeroRows(rows,false);vectorbool zeroCols(cols,false);//第一次遍历记录哪些行和列需要置为0for(int i 0 ; i rows ; i ){for(int j 0 ; j cols ;j ){if(matrix[i][j] 0 ){zeroRows[i] true;//记录第i行需要置为0zeroCols[j] true;//记录第j列需要置为0}}}//第二次遍历根据记录的行和列将其置为0for(int i 0 ; i rows ; i ){for(int j 0 ; j cols ;j ){if(zeroRows[i] || zeroCols[j] ){matrix[i][j] 0;}}}} };2.螺旋矩阵 思路分析要以顺时针螺旋顺序返回一个矩阵中的所有元素可以采用四个边界上、下、左、右来控制遍历的范围。具体步骤如下 初始化边界设定四个变量top,bottom,leftright分别表示当前未遍历部分的上下左右边界循环遍历 从左到右遍历当前的top行更新top边界从上到下遍历当前的right列更新right边界检查是否仍有行可遍历若有从右到左遍历当前的bottom行更新bottom边界检查是否仍有列可遍历若有从下到上遍历当前的left列更新left边界 重复以上步骤直到所有元素被遍历 具体实现代码详解版 class Solution { public:vectorint spiralOrder(vectorvectorint matrix) {vectorint result;if(matrix.empty() || matrix[0].empty()) return result;int top 0, bottom matrix.size() - 1;int left 0, right matrix[0].size() - 1;while(top bottom left right){//从左到右遍历上边界for(int j left ; j right ; j ){result.push_back(matrix[top][j]);}top ;//下移//从上到下遍历右边界for(int i top ; i bottom ; i ){result.push_back(matrix[i][right]);}right --;//左移if(top bottom){//检查是否仍有行可遍历//从右到左遍历下边界for(int j right ; j left ; j --){result.push_back(matrix[bottom][j]);}bottom --;//上移}if(left right){//从下到上遍历左边界for(int i bottom ; i top ; i --){result.push_back(matrix[i][left]);}left ;//右移}}return result;} };还有一种写法供参考 class Solution { public:vectorint spiralOrder(vectorvectorint matrix) {vector int ans;if(matrix.empty()) return ans; //若数组为空直接返回答案int u 0; //赋值上下左右边界int d matrix.size() - 1;int l 0;int r matrix[0].size() - 1;while(true){for(int i l; i r; i) ans.push_back(matrix[u][i]); //向右移动直到最右if( u d) break; //重新设定上边界若上边界大于下边界则遍历遍历完成下同for(int i u; i d; i) ans.push_back(matrix[i][r]); //向下if(-- r l) break; //重新设定右边界for(int i r; i l; --i) ans.push_back(matrix[d][i]); //向左if(-- d u) break; //重新设定下边界for(int i d; i u; --i) ans.push_back(matrix[i][l]); //向上if( l r) break; //重新设定左边界}return ans;} };3.旋转图像 思路分析要在原地顺时针旋转 n×n 的矩阵可以分为两个步骤先进行矩阵的转置然后再对每一行进行反转。 转置通过双重循环将 matrix[i][j] 和 matrix[j][i] 进行交换从而完成转置操作。注意这里只需遍历上三角矩阵以避免重复交换反转每一行std::reverse 函数反转每一行完成最终的旋转。 具体实现代码详解版 void rotate(vectorvectorint matrix) {int n matrix.size();// 1. 转置矩阵for (int i 0; i n; i) {for (int j i 1; j n; j) {swap(matrix[i][j], matrix[j][i]);}}// 2. 反转每一行for (int i 0; i n; i) {reverse(matrix[i].begin(), matrix[i].end());} } 4.搜索二维矩阵II 思路分析使用一种从矩阵的右上角开始的搜索方法这种方法的时间复杂度为 O(mn)其中 m 是矩阵的行数n 是列数。 从右上角开始设置 row 为 0col 为最后一列的索引。搜索逻辑 如果当前元素等于目标值则返回 true如果当前元素等大于目标值说明target在左侧向左移动减少列索引如果当前元素等小于目标值说明target在下侧向下移动增加行索引 具体实现代码详解版): class Solution { public:bool searchMatrix(vectorvectorint matrix, int target) {// 检查矩阵是否为空if (matrix.empty() || matrix[0].empty()) return false;int m matrix.size(); // 矩阵行数int n matrix[0].size(); // 矩阵列数int row 0; // 从第一行开始int col n - 1; // 从最后一列开始while (row m col 0) {if (matrix[row][col] target) {return true; // 找到目标值} else if (matrix[row][col] target) {col--; // 当前值大于目标向左移动} else {row; // 当前值小于目标向下移动}}return false; // 未找到目标值} };
http://www.yingshimen.cn/news/2480/

相关文章:

  • php 自动做网站点击量成都小型软件开发公司
  • 网站是什么时候出现的网络舆情的应对及处理
  • 自己做的网站是怎么赚钱做视频课程网站
  • 大专网站建设资料深圳网页制作与网站建设服务器
  • asp 网站模板反网站搭建一条龙
  • 专业网站建设网站价格做视频网站技术壁垒在哪里
  • 娄底手机网站制作石家庄网站建设选汉狮
  • 网站建设需要具备哪些知识电商网站建设技术
  • 网站建设后备案多少钱怎么做百度推广运营
  • 专做母婴的网站网站开发设计各部门职责
  • 做穿越火线的网站资料网站建设与管理专业好不好就业
  • 网站艺术设计云南高端建设网站
  • 定做网站多少钱WordPress新的页面
  • 广州排名网站关键词优化微商城电商系统开发商
  • 淘宝优惠券返利网站怎么做龙岗网站制作讯息
  • 如何做免费网站推广wordpress禁止谷歌字体
  • 南京网站设计ui二维码制作
  • 建设申请网站东营做网站多少钱
  • 婚庆网站模板免费下载品牌建设及龙头企业
  • 上海教育网站官网引擎网站
  • 金华网站建设微信开发山东建设信息网站
  • 顺德网站建设案例wordpress加广告
  • 怎么挖掘网站的关键词网站为什么要服务器
  • 泉州网站制作维护河南省建筑资质查询
  • 虎丘苏州网站建设新乡市建设路小学网站
  • 山东鲁为建设集团网站php网站建设哪家好
  • 廊坊门户网站美食创意网页设计
  • 怀化灵知网站建设seo推广关键词公司
  • 专门做衣服特卖的网站2345应用商店
  • 购物网站开发方案网站域名注册时间查询