《leetcode》spiral-matrix-ii(构造螺旋矩阵)
来源:互联网 发布:豆人网络战争前线 编辑:程序博客网 时间:2024/06/05 12:39
题目描述
Given an integer n, generate a square matrix filled with elements from 1 to n 2 in spiral order.
For example,
Given n =3,
You should return the following matrix:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
解析:螺旋矩阵算是数组中比较经典的问题了。如何构造螺旋矩阵返回呢?我们可以把该数组看成是构造上方、右方、下方、左方来构造。注意:每构造一个上、右、下、左就把循环数+1,就像剥洋葱一样,搞完一层就少一层。
public class Solution { public int[][] generateMatrix(int n) { int [][] arr = new int[n][n]; int count=0;//构造的数 int x=0; int y=0; int num=1; int cycle=0;//控制循环的层数 while (count!=(n*n)){ while (y<(n-cycle)&&(count!=(n*n))){//上方 arr[x][y]=num++; y++; count++; } y--; x++; while (x<n-cycle&&(count!=(n*n))){//右方 arr[x][y]=num++; x++; count++; } x--; y--; while (y>=cycle&&(count!=(n*n))){//下方 arr[x][y]=num++; y--; count++; } y++; x--; while (x>cycle&&(count!=(n*n))){//左侧 arr[x][y]=num++; x--; count++; } x++; y++; cycle++;//完成一圈循环数+1,下次内圈变小 } return arr; }}
阅读全文
0 0
- 《leetcode》spiral-matrix-ii(构造螺旋矩阵)
- LeetCode------54. Spiral Matrix(螺旋二维矩阵)-----59. Spiral Matrix II(n的螺旋矩阵)
- [LeetCode]-Spiral Matrix I&II 螺旋矩阵
- LeetCode Spiral Matrix II (生成螺旋矩阵)
- leetcode 59. Spiral Matrix II (螺旋矩阵)
- LeetCode | Spiral Matrix II(螺旋矩阵填充数据)
- LeetCode OJ 之 Spiral Matrix II (螺旋矩阵 - 二)
- LeetCode 59. Spiral Matrix II(螺旋矩阵)
- Leetcode 54 spiral matrix II (螺旋矩阵)
- LeetCode 59. Spiral Matrix II (JAVA)(螺旋矩阵2)
- LeetCode 54. Spiral Matrix(螺旋矩阵)
- LeetCode Spiral Matrix(螺旋矩阵)
- [C++]LeetCode: 111 Spiral Matrix II (螺旋写入矩阵)
- leetcode 59 Spiral Matrix II 螺旋矩阵的打印
- leetcode 59. Spiral Matrix II-螺旋矩阵|清晰思路
- leetcode 59. Spiral Matrix II 螺旋方式写矩阵
- LeetCode 59 Spiral Matrix II(螺旋矩阵II)(Array)
- 【LeetCode-面试算法经典-Java实现】【059-Spiral Matrix II(螺旋矩阵II)】
- 秋招面试
- jmeter监控服务器性能配置
- JAVA----操作XML文件的两个封装方法
- 数学建模(4)——模拟退火
- 安全测试
- 《leetcode》spiral-matrix-ii(构造螺旋矩阵)
- 内存重叠
- squid 启用https反向代理代理
- 第五课 Tensorflow TFRecord读取数据
- 欢迎使用CSDN-markdown编辑器
- 谱聚类(spectral clustering)原理总结
- [LintCode 376] 二叉树的路径和(Python)
- Linux系统里安装源码包
- js call 方法简单介绍