【leetcode】59.Spiral Matrix II
Leetcode59 Spiral Matrix II
Given n =
3,
You should return the following matrix:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
回型打印整数n。
Tips: dr dc控制指针的走向,当不满足
(newRow>=0 && newRow<n && newCol>=0 && newCol<n && !visit[newRow][newCol])这些条件时,指针就要改变方向。
package medium;
public class L59SpiralMatrixII {
public int[][] generateMatrix(int n) {
int[][] ans = new int[n][n];
boolean[][] visit = new boolean[n][n];
int row = 0;
int col = 0;
int ind = 0;
int[] dr = { 0, 1, 0, -1 };
int[] dc = { 1, 0, -1, 0 };
for (int i = 0; i < n * n; i++) {
ans[row][col] = i + 1;
visit[row][col] = true;
int newRow=row+dr[ind];
int newCol=col+dc[ind];
if(newRow>=0 && newRow<n && newCol>=0 && newCol<n && !visit[newRow][newCol]){
row=newRow;
col=newCol;
}else{
ind=(ind+1)%4;
row+=dr[ind];
col+=dc[ind];
}
}
return ans;
}
public void print(int[][] ans,int n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(ans[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
L59SpiralMatrixII cc= new L59SpiralMatrixII();
int n=4;
int[][] ans= cc.generateMatrix(n);
cc.print(ans, n);
}
}
【leetcode】59.Spiral Matrix II的更多相关文章
- 【LeetCode】59. Spiral Matrix II 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 维护四个边界和运动方向 保存已经走过的位置 日期 题 ...
- 【一天一道LeetCode】#59. Spiral Matrix II
一天一道LeetCode系列 (一)题目 Given an integer n, generate a square matrix filled with elements from 1 to n2 ...
- LeetCode OJ 59. Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...
- 【LeetCode】59.螺旋矩阵II
59.螺旋矩阵II 知识点:数组: 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 ...
- 【LeetCode】54. Spiral Matrix 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 维护四个边界和运动方向 保存已经走过的位置 日期 题 ...
- 【leetcode】54.Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- 【LeetCode】885. Spiral Matrix III 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Leetcode 54. Spiral Matrix & 59. Spiral Matrix II
54. Spiral Matrix [Medium] Description Given a matrix of m x n elements (m rows, n columns), return ...
- leetcode 54. Spiral Matrix 、59. Spiral Matrix II
54题是把二维数组安卓螺旋的顺序进行打印,59题是把1到n平方的数字按照螺旋的顺序进行放置 54. Spiral Matrix start表示的是每次一圈的开始,每次开始其实就是从(0,0).(1,1 ...
随机推荐
- 2015526 《Java程序设计》实验二实验报告
2015526 <Java程序设计>实验二实验报告 一.单元测试和TDD 用程序解决问题时,要学会写以下三种代码: 伪代码 产品代码 测试代码 正确的顺序应为:伪代码(思路)→ 测试代码( ...
- 20155307 《Java程序设计》课堂实践项目MyOD
一开始没理解老师的要求,交的截图是错误的. import java.io.FileInputStream; import java.io.IOException; import java.io.Inp ...
- 20155310《Java程序设计》实验五(网络编程与安全)实验报告
20155310<Java程序设计>实验五(网络编程与安全)实验报告 一.实验内容及步骤 •任务一: 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上 ...
- 小程序if else 判断显示隐藏
wxml: <view> <text wx:if="{{ifnumber>80}}">{{ifnumber}}</text> <te ...
- Spring框架实例
一,介绍 Spring框架核心是Ioc控制反转,只要在容器中注册以后,依赖从容器中获取即可 简单的理解:需要一个值,在程序中定义一个变量,但是不赋值,只设置set方法,运行时,容器为该变量赋值 二,实 ...
- day 6 返回值,参数
1.函数返回值 In [3]: def divid(a,b): ...: shang = a//b ...: yushu = a%b ...: return shang,yushu ...: In [ ...
- Zabbix学习之路(十)之分布式监控zabbix_proxy及交换机监控
1.Zabbix分布式监控 zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix serv ...
- 查询系统日期和时间(mysql)
select current_date --不带时间select sysdate() 或 SELECT NOW(); --带时间
- DataGridView滚动慢的解决方法
当DataGridView达到一定大小的时候,拖动滚动条就会非常慢,出现让人难以忍受的闪动. 即便只有100行,每行30列. 解决方法是启用DataGridView的双缓冲. 1 2 3 4 5 6 ...
- 「Leetcode」976. Largest Perimeter Triangle(C++)
分析 好久不刷题真的思维僵化,要考虑到这样一个结论:如果递增的三个数\(x_i,x_{i+1},x_{i+2}\)不符合题意,那么最大的两边之差一定大于等于第一条边,那么任何比第一条边小的都不能成立. ...