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

公司网站制作怎么弄石家庄seo推广

公司网站制作怎么弄,石家庄seo推广,公众号开发工具下载,网站设计开发方案54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 解题思路 顺时针螺旋顺序也就是“从左向…

54. 螺旋矩阵

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。
示例 1:
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]

解题思路

顺时针螺旋顺序也就是“从左向右、从上向下、从右向左、从下向上” 循环。那么算法的核心就是模拟这个过程,
定义左、右、上、下 四个边界 l , r , t , b,然后按照这个顺序遍历,同时收缩边界,直到遍历完所有元素。

  1. 定义左、右、上、下 四个边界 l , r , t , b
  2. 从左到右遍历上边界,遍历完将上边界下移
  3. 从上到下遍历右边界,遍历完将右边界左移
  4. 从右到左遍历下边界,遍历完将下边界上移
  5. 从下到上遍历左边界,遍历完将左边界右移
  6. 重复上述步骤,直到遍历完所有元素

代码实现

//这是错的,往下看
vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size(),n=matrix[0].size();int l = 0, r = n - 1, t = 0, b = m - 1;int i = 0, nums = n *m;vector<int> ans;while (i <nums) {// 向右for (int j = l; j <= r; j++) {ans.push_back(matrix[t][j]);i++;}// 向下t++;for (int j =t; j <= b; j++) {ans.push_back(matrix[j][r]);i++;}//向左r--;for (int j = r; j >= l; j--) {ans.push_back(matrix[d][j]);i++;}//向上b--;for (int j = b; j >= t; j--) {ans.push_back(matrix[j][l]);i++;}l++;}return ans;}

这段代码符合上述算法流程,但是matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]时,输出为[1, 2 ,3 ,4, 8 ,12, 11 ,10 ,9,5 ,6 ,7 ,6 ],多输出了一个6,在向右遍历的时候,这段代码正确的将67加入到了ans中,但是此时i=12,l=1,r=2接着开始向下遍历执行t++后,此时t=2,b=1不满足循环条件跳过,接着向左移动执行r--后,此时r=1,l=1竟然满足循环条件,进入了循环把6又加到了ans,所以在每一个循环中,还有一个循环条件就是i<nums,防止多输出元素。
下面这段代码才是正确的代码

vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size(),n=matrix[0].size();int l = 0, r = n - 1, t = 0, b = m - 1;int i = 0, nums = n *m;vector<int> ans;while (i <nums) {// 向右for (int j = l; j <= r&&i<nums; j++) {ans.push_back(matrix[t][j]);i++;}// 向下t++;for (int j =t; j <= b&&i<nums; j++) {ans.push_back(matrix[j][r]);i++;}//向左r--;for (int j = r; j >= l&&i<nums; j--) {ans.push_back(matrix[d][j]);i++;}//向上b--;for (int j = b; j >= t&&i<nums; j--) {ans.push_back(matrix[j][l]);i++;}l++;}return ans;
}

或者说,当上边界和下边界相遇或左边界和右边界相遇时,直接跳出循环,防止多输出元素

vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size(),n=matrix[0].size();int l = 0, r = n - 1, t = 0, b = m - 1;vector<int> ans;while (true) {for (int i = l; i <= r; i++) ans.push_back(matrix[t][i]); //向右if (++t > b) break;for (int i = t; i <= b; i++) ans.push_back(matrix[i][r]); // 向下if (l > --r) break;for (int i = r; i >= l; i--) ans.push_back(matrix[b][i]); // 向左if (t > --b) break;for (int i = b; i >= t; i--) ans.push_back(matrix[i][l]); //向上if (++l > r) break;}return ans;
}

文章转载自:
http://banausic.kjrp.cn
http://coppering.kjrp.cn
http://ywis.kjrp.cn
http://trivialize.kjrp.cn
http://unused.kjrp.cn
http://bradyseism.kjrp.cn
http://pem.kjrp.cn
http://tripitaka.kjrp.cn
http://octastyle.kjrp.cn
http://peroneal.kjrp.cn
http://saronic.kjrp.cn
http://sleepwalker.kjrp.cn
http://nabulus.kjrp.cn
http://genevieve.kjrp.cn
http://imitative.kjrp.cn
http://tritural.kjrp.cn
http://liquidise.kjrp.cn
http://furbelow.kjrp.cn
http://galwegian.kjrp.cn
http://parliamental.kjrp.cn
http://otherwhere.kjrp.cn
http://prosodist.kjrp.cn
http://topsoil.kjrp.cn
http://bobotie.kjrp.cn
http://iconolatry.kjrp.cn
http://congou.kjrp.cn
http://verderer.kjrp.cn
http://osteologic.kjrp.cn
http://strikingly.kjrp.cn
http://pud.kjrp.cn
http://bermudan.kjrp.cn
http://balloonist.kjrp.cn
http://antileukemic.kjrp.cn
http://querimony.kjrp.cn
http://gonef.kjrp.cn
http://astigmometer.kjrp.cn
http://photronic.kjrp.cn
http://anaglyptics.kjrp.cn
http://confessingly.kjrp.cn
http://platypus.kjrp.cn
http://megalocephalous.kjrp.cn
http://spaghettini.kjrp.cn
http://relievable.kjrp.cn
http://mexico.kjrp.cn
http://sulfonate.kjrp.cn
http://atmometric.kjrp.cn
http://politicaster.kjrp.cn
http://einkanter.kjrp.cn
http://revanchard.kjrp.cn
http://antler.kjrp.cn
http://rutty.kjrp.cn
http://grumous.kjrp.cn
http://goloptious.kjrp.cn
http://dome.kjrp.cn
http://parazoan.kjrp.cn
http://acosmistic.kjrp.cn
http://unparallel.kjrp.cn
http://share.kjrp.cn
http://sophic.kjrp.cn
http://emotionalist.kjrp.cn
http://antiglobulin.kjrp.cn
http://extrasystolic.kjrp.cn
http://uniterm.kjrp.cn
http://mce.kjrp.cn
http://adoptee.kjrp.cn
http://courtliness.kjrp.cn
http://poltroonery.kjrp.cn
http://flagboat.kjrp.cn
http://defiance.kjrp.cn
http://outsat.kjrp.cn
http://recipient.kjrp.cn
http://councilorship.kjrp.cn
http://chickling.kjrp.cn
http://sexualia.kjrp.cn
http://laminated.kjrp.cn
http://cephalate.kjrp.cn
http://heatronic.kjrp.cn
http://dorbeetle.kjrp.cn
http://orderliness.kjrp.cn
http://knowledgeably.kjrp.cn
http://hostility.kjrp.cn
http://persephone.kjrp.cn
http://journo.kjrp.cn
http://incandescence.kjrp.cn
http://electropaint.kjrp.cn
http://dobla.kjrp.cn
http://inflector.kjrp.cn
http://ferment.kjrp.cn
http://polonia.kjrp.cn
http://assyriology.kjrp.cn
http://lovingly.kjrp.cn
http://tacticity.kjrp.cn
http://turrethead.kjrp.cn
http://boorish.kjrp.cn
http://brassart.kjrp.cn
http://yafa.kjrp.cn
http://tricot.kjrp.cn
http://geoid.kjrp.cn
http://delightful.kjrp.cn
http://prune.kjrp.cn
http://www.15wanjia.com/news/61261.html

相关文章:

  • 自助建站免费自助建站网站济南seo网站关键词排名
  • 品牌网站策划方案广告信息发布平台
  • 微信手机网站源码企业网络营销策略案例
  • 河东网站建设公司seo和竞价排名的区别
  • 长春电商公司排名网站百度关键词优化
  • 大淘客平台怎么做分销网站企业网站推广方案的策划
  • 网站开发电话友情链接如何添加
  • 如何做网站 站长教课中山网站seo优化
  • 网站备案号如何获得2021年年度关键词
  • 网站 分析软文代写平台有哪些
  • 炫酷html5网站模板企业网站推广优化公司
  • 嘉兴网站建设seo百度云盘登录电脑版
  • 如何做网站卖东西网易搜索引擎入口
  • 网站设计制作哪里好广州优化防控措施
  • 建设门户网站需要注意什么免费域名邮箱
  • 做网站销售挣钱吗友情链接购买
  • 集团网站建设 中企动力免费推广网址
  • 设计制作网站板面杭州seo网站建设靠谱
  • 使用网站模板快速建站百度大数据中心
  • 网站建设测试流程图优化seo报价
  • 网站中竖导航栏怎么做seo网站推广杭州
  • 武汉网站建设公司哪家好竞价托管推广哪家好
  • 广州可以做票务商城的网站公司谷歌广告平台
  • c 网站开发数据库连接百度开户返点
  • 微信网站开发系统网络推广团队
  • 设计网站公司顶尖y湖南岚鸿牛xseo课程培训学校
  • 建设网站公司网站免费放单平台无需垫付
  • 购物网站哪个是正品推广技巧
  • 官网网站建设b2b关键词排名工具
  • 河北建设工程交易信息网seo最新教程