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

题目: Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order....
  • u014673347
  • u014673347
  • 2015年08月26日 23:14
  • 425

[LeetCode]59.Spiral Matrix II

【题目】 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral orde...
  • SunnyYoona
  • SunnyYoona
  • 2015年02月04日 22:25
  • 1350

59.Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For...
  • sjt091110317
  • sjt091110317
  • 2015年06月25日 14:59
  • 230

leetcode - 59.Spiral Matrix II

Spiral Matrix II
  • qq_27350929
  • qq_27350929
  • 2017年03月13日 13:33
  • 49

leetcode 240: Search a 2D Matrix II

leetcode 240: Search a 2D Matrix II python java c++
  • xudli
  • xudli
  • 2015年07月23日 06:07
  • 11750

Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)

1.问题描述  写一个高效的算法,从一个m×nm\times n的整数矩阵中查找出给定的值,矩阵具有如下特点:    每一行从左到右递增。 每一列从上到下递增。 2. 方法与思路2.1 二分查找法 ...
  • Jeanphorn
  • Jeanphorn
  • 2015年07月23日 20:41
  • 3212

hdu 2830 - Matrix Swapping II

题目:求一个01矩阵中的最大有全是1的矩形面积,列可以任意互换。 分析:dp。zoj2180类似题,计算前 K行的最大值时,先按高度排序即可。             这里利用单调队列优化了查询算法,...
  • mobius_strip
  • mobius_strip
  • 2014年09月22日 07:54
  • 624

LeetCode59——Spiral Matrix II

LeetCode59——Spiral Matrix II 参考LeetCode54——Spiral Matrix 唯一不同,就是对二维数组按照这个顺序进行赋值操作:1,2,3,....n 代码:...
  • zhangxiao93
  • zhangxiao93
  • 2015年10月24日 22:13
  • 643

Matrix Factorization, Algorithms, Applications, and Avaliable packages

来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/美帝的有心人士收集了市面上的矩阵分解的几乎所有算法和应用,由于源地址...
  • abcjennifer
  • abcjennifer
  • 2014年06月13日 00:12
  • 9629

UVa442 Matrix Chain Multiplication(矩阵链乘)java实现

题目描述:输入n个矩阵的维度和一个矩阵链乘的表达式,输出乘法的次数,如果乘法无法进行,则输出error。...
  • kangaroo835127729
  • kangaroo835127729
  • 2014年08月07日 14:58
  • 815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Algorithms—59.Spiral Matrix II
举报原因:
原因补充:

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