博客
关于我
螺旋矩阵-ii(数组)
阅读量:366 次
发布时间:2019-03-04

本文共 939 字,大约阅读时间需要 3 分钟。

题目描述

给定一个整数n,将数字1到n^2n

2
按螺旋的顺序填入n×n的矩阵
例如:
给出的n=3,
你应该返回如下矩阵:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]

class Solution {   public:    /**     *      * @param n int整型      * @return int整型vector
<>> */ vector
> generateMatrix(int n) { // write code here vector
> matrix(n, vector
(n)); int left = 0; int right = n-1; int up = 0; int down = n-1; int index = 1; while(left <= right && up <= down){ for(int i = left; i <= right && up <= down; i++){ matrix[up][i] = index; index++; } for(int i = up+1; i <= down && left<= right; i++){ matrix[i][right] = index++; } for(int i = right-1; i >= left && up <= down; i--){ matrix[down][i] = index++; } for(int i = down-1; i >= up+1 && left <= right; i--){ matrix[i][left] = index++; } left++; right--; up++; down--; } return matrix; }};

在这里插入图片描述

错因分析

  • 我前面都是创建的(n+1)*(n+1)维的数组,导致答案一直出错

转载地址:http://eydg.baihongyu.com/

你可能感兴趣的文章
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>
Navicate for mysql 数据库设计-数据库分析
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat怎样筛选数据
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>