思路:我们可以使用模拟的方法进行路径遍历。

接下来我们用C++进行编程:

class Solution {private:static constexpr int directions[3][2] = {{0, 1}, {1, 0}, {-1, -1}};
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {if (matrix.size() == 0 || matrix[0].size() == 0) {return {};}int rows = matrix.size(), columns = matrix[0].size();vector<vector<bool>> visited(rows, vector<bool>(columns));int total = rows * columns / 2 + rows;vector<int> order(total);int row = 0, column = 0;int directionIndex = 0;for (int i = 0; i < total; i++) {order[i] = matrix[row][column];visited[row][column] = true;int nextRow = row + directions[directionIndex][0], nextColumn = column + directions[directionIndex][1];if (nextRow < 0 || nextRow >= rows || nextColumn < 0 || nextColumn >= columns || visited[nextRow][nextColumn]) {directionIndex = (directionIndex + 1) % 3;}row += directions[directionIndex][0];column += directions[directionIndex][1];}return order;}
};

算法题_遍历三角矩阵相关推荐

  1. java的简单算法题_[2]十道算法题【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  2. 保研面试 算法题_面试挂在了一道 LRU 缓存算法设计题

    前言 好吧,有人可能觉得我标题党了,但我想告诉你们的是,前阵子面试确实挂在了 RLU 缓存算法的设计上了. 当时面试官问到这个题的时候,很快给了一个思路,但是手写的时候,发现自己没有深刻理解它,加上当 ...

  3. 保研面试 算法题_百度软件工程师面试经验

    面试过程: 首先介绍一下笔者的背景.笔者是某苦逼工科专业不想考研又保研无望的孩纸,虽然本科不是计算机专业的,但好歹也做过几个小项目(这里感激一下现在充斥着生活各处的编程,让笔者虽然不是计算机专业的学生 ...

  4. 保研面试 算法题_计算机考研/保研复试重点整理-数据结构篇

    先来一个知识框架图,前方高能预警 好了,看完这个框架,你慌了吗? 大家心里有个数之后,我们开始划重点,都去给我背! 一.什么是数据结构? 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在 ...

  5. 一个算法题实现回旋转圈矩阵

    实现回旋转圈矩阵,比如输入3,从中心开始转圈输出如下图所示 int i=3; 7 8 9 6 1 2 5 4 3 思路 方案一:先确定起始点位,然后顺时针按步走,如果下一步的点位有值就保持原来的前进方 ...

  6. 剑指offer_第19题_顺时针打印矩阵_Python

    题目描述 输入一个矩阵 按照从外向里以顺时针的顺序依次打印出每一个数字 例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  7. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...

  8. 算法题_位运算_9_出现一次的数字和出现k次的数字

    位运算 出现一次的数字和出现k次的数字 题目:出现k次和出现1次 描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数. 第一次看到这道题,思考了一会,觉得可以使用Map集合来 ...

  9. 算法题_位运算_4_是不是2的整数次方

    位运算 是不是2的整数次方 如果已经吃透了上一道题<二进制数中"1"比特的个数>,只要稍加思考,就会发现这道题与上一道的考点是一样的,都是判断"1" ...

最新文章

  1. 31、如何安装第三方模块?以及用过哪些第三方模块?
  2. tomcat的jdbc连接池PoolExhaustedException
  3. 解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0
  4. hdu3986 spfa + 枚举最短路上的边
  5. python 嵌入式 linux 产品 发布_基于嵌入式Linux进行Python应用开发
  6. IdentityServer4环境部署失败分析贴(一)
  7. 前端学习(2527):功能展示
  8. 漫画 | 小白也能看懂的量子物理漫画终于来了!
  9. Windows Phone 8.1 新特性 - 控件之应用程序栏
  10. RTOS ---嵌入式操作系统之时钟节拍下的任务切换
  11. 互联网高可用架构技术实践
  12. Bean的作用域scope
  13. 经过一年的煎熬,我们还是决定把系统升级成基于 Spring Cloud 的微服务架构
  14. 如何看懂时序图LCD1602(经典)
  15. BDTC2016: 中航信 昆仑数据 兮易控股 宝信议题公布
  16. ISTP概况及网络版检索方法
  17. Python 列表与元组
  18. 【GDKOI2013】琪露诺的完美算法课
  19. 2016年9个最受欢迎的H5页面制作工具
  20. 企业为什么要进行数字化转型1.1——顺势而为谋发展

热门文章

  1. 适配器模式设计插头标准
  2. elasticSearch学习笔记04-同义词,停用词,拼音,高亮,拼写纠错
  3. 那些与耐克“作对”的品牌现在怎么样了
  4. YII2 路由问题-摘自yii2官方文档
  5. ArTalk | 兆芯安超云:打造国产桌面云新势力
  6. 小白读《HTML5权威指南》第三部分 CSS
  7. NYOJ-506 洗澡
  8. C语言之最简单的Hello World!
  9. maya导入abc动画_(送给纠结自学3d建模的同学)自学maya,zbrush,substance一个月的感想...
  10. 10年资深架构师推荐21本技术好书