Algorithms—59.Spiral Matrix II

原创 2015年07月09日 20:03:06

思路:上下左右各写一个方法

public class Solution {
    public int[][] generateMatrix(int n) {
		int[][] answer = new int[n][n];
		// 顶部
		int t = 0;
		// 底部
		int b = n - 1;
		// 左边
		int l = 0;
		// 右边
		int r = n - 1;
		int a = 1;
		while (true) {
			// 左
			for (int i = l; i <= r; i++) {
				answer[t][i] = a;
				a++;
			}
			t++;
			if (t > b) {
				return answer;
			}
			// 下
			for (int i = t; i <= b; i++) {
				answer[i][r] = a;
				a++;
			}
			r--;
			if (l > r) {
				return answer;
			}
			// 右
			for (int i = r; i >= l; i--) {
				answer[b][i] = a;
				a++;
			}
			b--;
			if (t > b) {
				return answer;
			}
			// 上
			for (int i = b; i >= t; i--) {
				answer[i][l] = a;
				a++;
			}
			l++;
			if (l > r) {
				return answer;
			}

		}
	}
}


耗时:196ms,算的上是上游了。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

LeetCode#59. Spiral Matrix II

题目:给定一个整数n,以螺旋形将1到n^2填充螺旋矩阵

LeetCode 54/59. Spiral Matrix i, ii

1. 题目描述54 Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

leetcode 59. Spiral Matrix II

我在这里用了和leetcode 54 一样的思路开辟了一个和原矩阵同样大小的矩阵temp来存放是否输出过的标志位,然后按照向右,向左,向上,向下的顺时针顺序构造矩阵。 下面是这两道题的代码:...

[LeetCode]59.Spiral Matrix II

【题目】 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral orde...

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、 Spiral Matrix II

problem: Given an integer n, generate a square matrix filled with elements from 1 to n2...

LeetCode --- 59. Spiral Matrix II

题目链接:Spiral Matrix II Given an integer n, generate a square matrix filled with elements from 1 to n...

Leetcode59. Spiral Matrix II

59. Spiral Matrix II 1、原题 Given an integer n, generate a square matrix filled with elements from 1...

leetcode 59. Spiral Matrix II-螺旋矩阵|清晰思路

原题链接:59. Spiral Matrix II 【思路】 遍历图解如上图所示,n 分为偶数和奇数两种情况。当 n 为偶数时,最后一次遍历刚好添加完毕;当 n 为奇数时,最后还需要进行一次添加操...

59. Spiral Matrix II

题目:Spiral Matrix II原题链接: https://leetcode.com/problems/spiral-matrix-ii/ Given an integer n, genera...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)