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

汕尾营销网站建设济南做平台网站的

汕尾营销网站建设,济南做平台网站的,郑州app开发公司,平面设计难不难【题干】 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 【思路】 不难注意到,每进行一次转向,都有一行/列被输出(并失效);既然已经失效,那我…

【题干】

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

【思路】

  • 不难注意到,每进行一次转向,都有一行/列被输出(并失效);
  • 既然已经失效,那我们不妨就将这一行/列删去,当然并不是真的删去,其实只要让其无法再被访问(遍历)到就可以了;
  • 那么我们是如何限定遍历的范围的呢,是给遍历指针设定上下界,因此,当我们不想让指针走到某一行/列,用上限把该行/列划到范围之外就可以了;
  • 由于给出的不一定是方阵,所以要为行和列各设定两个变量用于记录当前可遍历范围的下界与上界;
  • 当行方向或列方向之中的某一个范围已经变为0时,意味着矩阵中已经不再有可被遍历的元素,则我们的目的已经达成了。

【题解】

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& 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;}
};

http://www.yayakq.cn/news/855555/

相关文章:

  • 十大免费网站推广平台有哪些电商运营一天都干啥
  • 广州市企业网站制作网站制作价格上海
  • 网站模板怎么做吴江建设银行网站
  • 免费做产品宣传的网站python 网站开发 sae
  • 做网站的厉害还是黑网站的厉害最近的新闻热点
  • 网站和浏览器不兼容潍坊网站制作套餐
  • 企业做国外网站多少钱系统首页设计图
  • 北京企业官网网站建设网站运营和维护
  • 湖北建设网官方网站自豪得用wordpress删
  • 湖南基础建设投资集团网站宝安中心医院
  • 如何在免费网站上做推扩服务商是什么意思
  • wordpress怎么改电子邮箱品牌营销优化
  • 泉州seo网站关键词优网站备案查询是什么意思
  • 祥云平台网站建设怎么收费怎么查找网站备案主体
  • 需要做网站的公司有哪些网站开发求职简历
  • 教育培训网站排名济南网站建设搜点网络
  • 有人拉我做彩票网站江门网站建设方案开发
  • 湖南省建设厅官网站钱建网站
  • 建设网站简单的需要多少天红杉树装饰公司口碑怎么样
  • 张家界市建设工程造价管理站网站中科建建设发展有限公司网站
  • 桂阳网站开发自己做网站 发布视频教程
  • 大学网站html模板泉州做网站qzxiaolv
  • 钓鱼网站制作潜江网站建设兼职
  • 找一个免费域名的网站建设网站的经验
  • 网站开发合同支付网站导航是做链接赚钱么
  • 网站设计建设合同问题谁负责
  • 保定网站建设报价做网站推广好做吗
  • 域名交易网站建设wordpress过滤显示插件下载
  • 赤峰市建设网站驻马店专业做网站公司
  • 免费下载现成ppt网站通辽做网站