博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Spiral Matrix II
阅读量:4150 次
发布时间:2019-05-25

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

class Solution {//key observe: when each component is done, its beginX,endX or beginY,endX will changepublic:	vector
> generateMatrix(int n) { if(0 == n) return vector
>(); vector
> result(n, vector
(n)); int beginX = 0, endX = n-1; int beginY = 0, endY = n-1; int cur = 1; int nSquare = n*n; while (true) { // From left to right for (int i = beginX; i <= endX; ++i) result[beginY][i] = cur++; if (++beginY > endY) break; // From top down for (int i = beginY; i <= endY; ++i) result[i][endX] = cur++; if (beginX > --endX) break; // From right to left for (int i = endX; i >= beginX; --i) result[endY][i] = cur++; if (beginY > --endY) break; // From bottom up for (int i = endY; i >= beginY; --i) result[i][beginX] = cur++; if (++beginX > endX) break; } return result; }};

second time

class Solution {public:    vector
> generateMatrix(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function int start = 0; int end = n-1; vector
> matrix(n, vector
(n, 0)); int curNum = 1; while(start <= end) { //up for(int i = start; i <= end; ++i) matrix[start][i] = curNum++; //right for(int i = start+1; i <= end-1; ++i) matrix[i][end] = curNum++; //bottom if(start != end) for(int i = end; i >= start; --i) matrix[end][i] = curNum++; //left for(int i = end-1; i >= start+1; --i) matrix[i][start] = curNum++; start++; end--; } return matrix; }};

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

你可能感兴趣的文章
本地tomcat 服务器内存不足
查看>>
IntelliJ IDAE 2018.2 汉化
查看>>
基于S5PV210的uboot移植中遇到的若干问题记录(一)DM9000网卡移植
查看>>
Openwrt源码下载与编译
查看>>
我和ip_conntrack不得不说的一些事
查看>>
Linux 查看端口使用情况
查看>>
文件隐藏
查看>>
两个linux内核rootkit--之二:adore-ng
查看>>
两个linux内核rootkit--之一:enyelkm
查看>>
关于linux栈的一个深层次的问题
查看>>
rootkit related
查看>>
配置文件的重要性------轻化操作
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
makefile中“-“符号的使用
查看>>
go语言如何从终端逐行读取数据?------用bufio包
查看>>