LintCode:旋转图像
2015-11-24 23:02
344 查看
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
挑战
能否在原地完成?
标签 Expand
相关题目 Expand
解题思路:
旋转90°其实可以理解为数组先上下对折
,然后再进行对角线对折
就ok了。
http://www.2cto.com/kf/201410/341031.html
/article/4999809.html
给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]
挑战
能否在原地完成?
标签 Expand
相关题目 Expand
解题思路:
旋转90°其实可以理解为数组先上下对折
,然后再进行对角线对折
就ok了。
http://www.2cto.com/kf/201410/341031.html
/article/4999809.html
public class Solution { /** * @param matrix: A list of lists of integers * @return: Void */ public void rotate(int[][] matrix) { // write your code here if(matrix==null||0==matrix.length) return; int m = matrix.length; /**上下进行翻转**/ for(int i=0;i<m/2;i++){ for(int j=0;j<m;j++){ int tmp = matrix[i][j]; matrix[i][j] = matrix[m-1-i][j]; matrix[m-1-i][j] = tmp; } } /**对角线进行翻转**/ for(int i=0;i<m;i++){ for(int j=0;j<i;j++){ int tmp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = tmp; } } } }
相关文章推荐
- 开源的DevOps开发工具箱
- Matlab 实现矩阵的满秩分解(最大秩分解)
- 错误处理
- 第二百三十六天 how can I 坚持
- odoo worker 异常Exception("bus.Bus unavailable")
- Java FP: Java中函数式编程的Map和Fold(Reduce)
- 对数据库中完整性概述的认识
- Coderforce #332 D. Spongebob and Squares
- 窗体运行前,检查是否互斥
- 原生JS练习计算器和banner条滚动效果
- lua学习03——table
- IOS开发真机调试
- 静态路由配置实例
- Json转换
- JAVA学习心得(二)-继承
- noip2015 day1 t2 message 伪·题解
- code[vs]最小生成树 1078,1231
- LintCode:整数转罗马数字
- ListView滑动过程中禁止加载图片
- 面向对象 引用传递