A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 自信boy 中级黑马   /  2016-8-19 21:53  /  721 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,将图像顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。
测试样例:
[[1,2,3],[4,5,6],[7,8,9]],3
返回:[[7,4,1],[8,5,2],[9,6,3]]

2 个回复

倒序浏览
我想回答可惜还没有学到....等我会了再告诉你
回复 使用道具 举报
题目理解有一点困难,思考了半天题目想要我们来怎么构造程序,
其实算法不是很难,细心一点都OK
[Java] 纯文本查看 复制代码
import java.util.*;  
  
public class Transform {  
    public int[][] transformImage(int[][] mat, int n) {  
        if(mat==null){  
            return null;  
        }  
        int temp=0;  
        for(int i=0;i<n;i++){  
            for(int j=0;j<n-i-1;j++){  
                temp=mat[i][j];  
                mat[i][j]=mat[n-j-1][n-i-1];  
                mat[n-j-1][n-i-1]=temp;  
            }  
        }  
        for(int i=0;i<n/2;++i){  
            for(int j=0;j<n;++j){  
                temp=mat[i][j];  
                mat[i][j]=mat[n-i-1][j];  
                mat[n-i-1][j]=temp;  
            }  
        }  
        return mat;  
    }  
}  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马