首页 > 其他 > 详细

[LeetCode 48] Rotate Image

时间:2015-03-23 09:40:43      阅读:230      评论:0      收藏:0      [点我收藏+]

题目链接:rotate-image


矩阵原地旋转90度


import java.util.Arrays;

/**
 * 
		You are given an n x n 2D matrix representing an image.
		
		Rotate the image by 90 degrees (clockwise).
		
		Follow up:
		Could you do this in-place?
 *
 */

public class RotateImage {
	
//	20 / 20 test cases passed.
//	Status: Accepted
//	Runtime: 181 ms
//	Submitted: 1 minute ago

    static void rotate(int[][] matrix) {
 
    	int n = matrix.length - 1;
        for(int i =  0; i <= n / 2; i ++) 
        	for(int j = i; j < n - i; j ++) {
        			//旋转四个位置相同的点
        			
        			//旋转前的位置关系
        			//			( i   j) . . . ( j   n-i)
        			//				.			   .
    				//				.			   .
    				//				.			   .
        			//			(n-j  i) . . . (n-i  n-j) 
        		
        			int temp1 = matrix[i][j];
        			matrix[i][j] = matrix[n - j][i];
        			matrix[n - j][i] = matrix[n - i][n - j];
        			matrix[n - i][n - j] = matrix[j][n - i];
        			matrix[j][n - i] = temp1;
        			
        			//旋转后的位置关系
        			//			(n-j   i ) . . . ( i    j ) 
        			//				.			   	 .
    				//				.			     .
    				//				.			     .
        			//			(n-i  n-j) . . . ( j   n-i)	
        	}
    }
	public static void main(String[] args) {

		int[][] matrix = {{1,2}, {3, 4}};
		rotate(matrix);
		for(int i = 0; i < matrix.length; i ++)
			System.out.println(Arrays.toString(matrix[i]));

	}

}


[LeetCode 48] Rotate Image

原文:http://blog.csdn.net/ever223/article/details/44539901

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!