leetcode Spiral Matrix

题目连接

https://leetcode.com/problems/spiral-matrix/ 

Spiral Matrix

Description

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.

For example, 
Given the following matrix:


  [ 1, 2, 3 ], 
  [ 4, 5, 6 ], 
  [ 7, 8, 9 ] 

You should return [1,2,3,6,9,8,7,4,5].

蛇形填数。。

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {ans.clear();if (matrix.empty() || matrix[0].empty()) return ans;n = matrix.size(), m = matrix[0].size();int x = 0, y = 0, tot = 1;vector<vector<int>> vis(n, vector<int>(m));ans.push_back(matrix[x][y]), vis[x][y] = true;while (tot < n * m) {while (y + 1 < m  && !vis[x][y + 1]) ans.push_back(matrix[x][++y]), vis[x][y] = true, tot++;while (x + 1 < n  && !vis[x + 1][y]) ans.push_back(matrix[++x][y]), vis[x][y] = true, tot++;while (y - 1 >= 0 && !vis[x][y - 1]) ans.push_back(matrix[x][--y]), vis[x][y] = true, tot++;while (x - 1 >= 0 && !vis[x - 1][y]) ans.push_back(matrix[--x][y]), vis[x][y] = true, tot++;}return ans;}
private:int n, m;vector<int> ans;
};

转载于:https://www.cnblogs.com/GadyPu/p/5040125.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python学生类出不来中文_Python 这类看起来学习门槛低的语言,是否真的适合入门编程学习?...

Python(计算机程序设计语言)Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell)&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越多被用于独立的、大型项目的开…

克隆可序列化和不可序列化的Java对象

开发人员经常依靠3d方库来避免重新发明轮子&#xff0c;尤其是在Java世界中&#xff0c;Apache和Spring这样的项目如此盛行。 在处理这些框架时&#xff0c;我们通常很少或根本无法控制其类的行为。 这有时会导致问题。 例如&#xff0c;如果您想深度克隆不提供合适克隆方法的对…

2014编程之美资格赛

2014 编程之美挑战赛 --- 资格赛真题 题目1 : 同构 时间限制:2000ms单点时限:1000ms内存限制:256MB描述 给定2个树A和B&#xff0c;保证A的节点个数>B的节点个数。 现在你需要对树A的边进行二染色。 一个好的染色方案&#xff0c;指不存在一个树A中的连通块&#xff0c;同时…

JavaScript之面向对象学习六原型模式创建对象的问题,组合使用构造函数模式和原型模式创建对象...

一、仔细分析前面的原型模式创建对象的方法,发现原型模式创建对象,也存在一些问题&#xff0c;如下&#xff1a; 1、它省略了为构造函数传递初始化参数这个环节,结果所有实例在默认的情况下都将取得相同的属性值&#xff0c;这还不是最大的问题&#xff01; 2、最大的问题是原型…

stand up meeting 12/11/2015

part组员今日工作工作耗时/h明日计划工作耗时/hUI冯晓云完成单词释义热度排序&#xff1b;允许用户自主添加释义&#xff1b;完成了button位置的修正&#xff08;finally&#xff09;和弹窗的美化&#xff1b; 6try the backup plan 6PDF Reader朱玉影 完成了pdf文件的打…

ssrf漏洞内网渗透_渗透技巧之SSRF

SSRF——服务端请求伪造&#xff0c;上一篇&#xff0c;我谈到了CSRF客户端请求伪造&#xff0c;这个是我们通过攻击用户&#xff0c;引诱客户点击我们伪造好的表单&#xff0c;从而达到我们攻击的目的&#xff0c;是从客户端发起的&#xff0c;那么SSRF服务端请求伪造当然是通…

引入故意缓存

几周前&#xff0c;我参加了ThoughtWorks 技术雷达研讨会。 我在ThoughtWorks工作了多年&#xff0c;想想是否有人知道这些人在软件开发方面的发展趋势。 在技​​巧上带有上升箭头的数字中&#xff0c;第17位被称为“周到缓存”。 和斯科特肖一起喝酒时&#xff0c;我问他是什…

(小议)面向对象

什么是面向对象&#xff1f;如果让我理解&#xff0c;只有一句话&#xff1a;它是一个与面向过程相对的概念&#xff0c;是一种进化或者升级。人们所设计的程序几乎都是线性思维&#xff0c;即一步一步往下执行。对于一个没有人机交互的简单程序来说&#xff0c;这是简单易行的…

int类型究竟占几个字节

最近在看深入理解计算机系统这本书&#xff0c;上面提到了在32位机器和64机器中int类型都占用4个字节。后来&#xff0c;查了The C Programming language这本书&#xff0c;里面有一句话是这样的&#xff1a;Each compiler is free to choose appropriate sizes for its own ha…

python fieldnames_csvreader.fieldnames在python中未被识别为csv reader对象的属性

我试图使用CSV模块在Python中提取CSV文件的标题.CSV文件非常扁平,看起来像&#xff1a;This, That, The Other1, 2, 3我正在做以下事情&#xff1a;>读入CSV文件并制作阅读器对象>将读者的迭代器推到下一行,强制它至少访问第一行一次(来自csv模块文档&#xff1a;“如果在…

Spring Insight – Web应用程序分析

您是否正在使用Spring Framework编写Web应用程序&#xff1f; 您是否曾经想过引擎盖下发生了什么&#xff1f; 为什么您的应用程序响应如此缓慢&#xff1f; 在您仍然等待应用程序响应的同时&#xff0c;为什么窗外的蜗牛如此之快地消失在远处&#xff1f; 您应该:)&#xff0c…

创建动态链接库时设置导出函数的方法

有两种方法1.使用模块定义文件, 2.在要导出的函数前加上 __declspec(dllexport) 我们用VS2008新建个DLL工程&#xff0c;工程名为“TestDLL” 把默认的源文件后缀 .CPP改为.C&#xff08;C文件&#xff09; int _stdcall MyFunction(int iVariant){return 0; } 1. 使用传统的模…

javascript的浏览器Bom详解,window、location、history对象

BOM(BrowserObjectModel)也叫浏览器对象模型&#xff0c;描述与浏览器进行交互的方法和接口。BOM由多个对象组成&#xff0c; 其中代表浏览器窗口的Window对象是BOM的顶层对象&#xff0c;其他对象都是该对象的子对象。 JavaScript由三部分组成&#xff1a;ECMAScript,BOM&…

python右斜杠_Python中的左斜杠、右斜杠(正斜杠和反斜杠)

首先&#xff0c;"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为&#xff1a;除号是正斜杠一般来说对于目录分隔符&#xff0c;Unix和Web用正斜杠/&#xff0c;Windows用反斜杠&#xff0c;但是现在Windows(一)目录中的斜杠们python读文件需要输入的目录参…

重用生成的JAXB类

在本文中&#xff0c;我将演示如何利用– XJC扩展来重用以前从XML模式生成的类。 当其他XML架构导入XML架构并且您不想每次都生成相同的类时&#xff0c;这很有用。 导入的架构&#xff08;Product.xsd&#xff09; 以下XML模式代表有关产品的基本信息。 产品是此示例域中的常…

MySQL的Master/Slave群集安装和配置

本文介绍MySQL的Master/Slave群集安装和配置&#xff0c;版本号安装最新的稳定版GA 5.6.19。 为了支持有限HA。我们用Master/Slave读写简单孤立的集群。有限HA这是当Master不可用&#xff0c;数据不会丢失。但在Master写的&#xff0c;必须手工处理故障。假设要支持更高的可用性…

动态申请二维数组

以下是动态申请a[m][n]的源代码 代码一&#xff1a; /* 编译器&#xff1a;DEV C */ #include<stdio.h> #include<stdlib.h> int main() {int **a;int i,j,m,n;scanf("%d%d",&m,&n); a (int **)malloc(sizeof(int *)*m);for (i0;i<m; i){a[i…

判断线段和直线相交 POJ 3304

1 // 判断线段和直线相交 POJ 33042 // 思路&#xff1a;3 // 如果存在一条直线和所有线段相交&#xff0c;那么平移该直线一定可以经过线段上任意两个点&#xff0c;并且和所有线段相交。4 5 #include <cstdio>6 #include <cstring>7 #include <iostream>8 …

JavaOne正在重建动力

在JavaOne上度过了一个非常忙碌的一周&#xff0c;今年的活动有很多让人喜欢的地方。 有很多惊喜的公告&#xff0c;很多很好的内容/会议&#xff0c;并且在场地和组织上都有很多改进。 对于一直耐心等待我发表我所有演讲的人们&#xff0c;我为您的延迟表示歉意……给4个演讲一…

tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构

3 系统架构系统整体组成&#xff1a;Tensorflow的系统结构以C API为界&#xff0c;将整个系统分为前端和后端两个子系统&#xff1a;前端构造计算图后端执行计算图&#xff0c;可再细分为&#xff1a;运行时&#xff1a;提供本地模式和分布式模式计算层&#xff1a;由kernal函数…