原题链接:https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/

1、方法一

vector<int> spiralOrder(vector<vector<int>>& matrix) {int n = matrix.size();if (n == 0) return {};int m = matrix[0].size();vector<int> ans;int up = 0, down = n - 1, left = 0, right = m - 1, count = 0;while (true) {for (int i = left; i <= right; i++) ans.push_back(matrix[up][i]);if (++up > down) break;for (int i = up; i <= down; i++) ans.push_back(matrix[i][right]);if (--right < left) break;for (int i = right; i >= left; i--) ans.push_back(matrix[down][i]);           if (--down < up) break;for (int i = down; i >= up; i--) ans.push_back(matrix[i][left]);if (++left > right) break;}return ans;
}

2、方法二

vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> res;if (matrix.empty()) return res;int n = matrix.size(), m = matrix[0].size();vector<vector<bool>> st(n ,vector<bool>(m, false));int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};int x = 0, y = 0, d = 1;for (int k = 0; k < n * m; k ++ ) {res.push_back(matrix[x][y]);st[x][y] = true;int a = x + dx[d], b = y + dy[d];if (a < 0 || a >= n || b < 0 || b >= m || st[a][b]) {d = (d + 1) % 4;a = x + dx[d], b = y + dy[d];}x = a, y = b;}return res;
}

leetcode算法题--顺时针打印矩阵相关推荐

  1. 牛客网(剑指offer) 第十九题 顺时针打印矩阵

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

  2. [剑指offer][JAVA]面试题第[29]题[顺时针打印矩阵][数组]

    [问题描述][中等] 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8 ...

  3. 【算法刷题日记之本手篇】左右最值最大差与顺时针打印矩阵

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[左右最值最大差]和[顺时针打印矩阵],展示语言java. 小贴士:本专栏所有题目来自牛客->面试刷题必用工具

  4. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

  5. 顺时针打印矩阵(编程题讲解)

    顺时针打印矩阵 题目描述 题目分析 python代码 使用python矩阵的旋转 矩阵的转置代码 python旋转矩阵解法代码    <剑指offer> 编程题讲解. 题目描述    输入 ...

  6. php 顺时针打印矩阵,这题

    浅谈狄利克雷相关题目套路2021-03-25 21:58:20 啥都不知道,被yyc D爆了/kk 扔道题 P2714 四元组统计 乍一看,就想推式子,结果发现自己是个憨批 莫反就两条式子 考虑第二种 ...

  7. java程序输出矩阵_java编程题之顺时针打印矩阵

    本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题 ...

  8. 数据结构与算法--解决问题的方法-顺时针打印矩阵

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

  9. 程序员面试题精选100题(51)-顺时针打印矩阵

    // 程序员面试题精选100题(51)-顺时针打印矩阵.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include <iostre ...

最新文章

  1. vscode 在ubuntu的terminal中下划线不显示解决方案
  2. [SourceInsight].SI自动添加函数注释
  3. android获取imei兼容_Android获取IMEI号码
  4. C++ reference很全面
  5. Windows下如何查看某个端口被谁占用并强制关闭
  6. 打印Python当前版本详细信息
  7. python watchdog休眠_python watchdog
  8. mGBA-0.9.2 免费开源的gba模拟器
  9. 了解NLP(自然语言处理)技术
  10. 凯立德地图导航2022年懒人包 安卓版
  11. Spring获取外网IP
  12. 概率论基础(一):条件均值与全期望公式
  13. 惠普笔记本的Windows10和Ubuntu20.04双系统安装教程
  14. rebase操作步骤
  15. 共享单车来了,自行车道没了
  16. 社交 APP 唔哩星球完成数百万元天使轮融资,投资方为启明创投
  17. SAS中常见的数组函数
  18. Java中类、抽象类、接口的联系与区别
  19. 灵遁者:写在33岁之初
  20. Pygame开发打飞机游戏

热门文章

  1. python官网下载步骤2019-2019年python入门到精通(19天全)
  2. python手机版下载3.7.2-qpython手机版下载
  3. python怎样画立体图形-用python来画出高光谱遥感影像的3D立体图
  4. python代码需要背吗-Python面试必须要看的15个问题
  5. 自学python还是报班-学习Python报培训班真的有必要吗?
  6. python介绍和用途-python应用领域介绍
  7. python做电脑软件-作为一个Python程序员,电脑上应该具备哪些软件?
  8. python实训项目-黑马程序员上海校区Python21期Django项目实训
  9. python小项目实例流程-python实现的简单RPG游戏流程实例
  10. CNN 模型的参数(parameters)数量和浮点运算数量(FLOPs)是怎么计算的