螺旋矩阵(算法)

原创 2015年07月06日 16:31:21

给定一个m*n 的矩阵,按螺旋顺序返回所有元素

举例:

1 2 3

4 5 6

7 8 9

返回 : 123698745


ArrayList<Integer> spiralOrder(int [][] matrix)
{
	ArrayList<Integer> result = new ArrayList<Integer>();
	if(matrix.length == 0)	return result;
	int beginX = 0,endX = matix[0].length -1 ;
	int beginY = 0 , endY = matrix.length -1;
	
	while(true)
	{
		for(int i = beginX; i <= endX; i++)
			result.add(matrix[beginY][i]);
		if(++begineY > endY) break;
		for(int  i = beginY; i <= endY;++i)
			result.add(matrix[i][endX]);
		if(beginX > --endX) break;
		for(int i = endX; i >= beginX; --i)
			result.add(matrix[i][beginX]);
		if(++beginX > endX) break;
	}
	return result;
}


螺旋矩阵算法

  • 2014年08月02日 16:34
  • 729B
  • 下载

C语言算法 螺旋矩阵

  • 2012年05月17日 09:27
  • 513B
  • 下载

【LeetCode-面试算法经典-Java实现】【054-Spiral Matrix(螺旋矩阵)】

【054-Spiral Matrix(螺旋矩阵)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a matrix of m x n elements (m r...

内螺旋矩阵算法

  • 2012年05月20日 12:19
  • 3KB
  • 下载

螺旋矩阵算法java实现

class TT { public static void main(String[] args) { int m = 5;/*行*/ int n = 6;/*列*/ in...

螺旋矩阵算法 java实现

package com.hcysoul; import java.util.Scanner; public class Main{ static int n; static int[][] ta...
  • hcysoul
  • hcysoul
  • 2015年05月22日 19:22
  • 251

对NxN型螺旋矩阵算法的个人见解

第一区块:赋值的时候是行数不变,列数在变 第二区块:列数不变,行数在变 第三区块:同第一区块 第四区块:同第二区块...

自己对与螺旋矩阵算法的一些见解

一直对一些算法很有兴趣,今天就跟大家分享下螺旋矩阵的算法 看了别人很多的方法,自己总结了一下,对其中不好的地方通过自己的想法修改了一下 所以只是供大家一起交流交流,但由于才疏学浅,定有不足之处,望...

螺旋矩阵、螺旋队列算法

问题描述螺旋矩阵是一个nxn的方阵,其中元素为自然数,但像螺旋方向一样递增。举例如下: 若n = 3,螺旋矩阵为: 1 2 3 8 9 4 7 6 5 若n = 4,螺旋矩阵为...
  • utimes
  • utimes
  • 2012年12月30日 19:56
  • 5205

c++_2D螺旋矩阵

  • 2016年04月22日 14:44
  • 94KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:螺旋矩阵(算法)
举报原因:
原因补充:

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