NC18 顺时针旋转矩阵

顺时针旋转矩阵

http://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc

import java.util.*;

public class Solution {
    public int[][] rotateMatrix(int[][] f, int n) {
        // write code here
//         先转置,再对每一行翻转,即顺时针旋转90度
//         1 2 3;  1 4 7;  7 4 1;
//         4 5 6;  2 5 8;  8 5 2;
//         7 8 9;  3 6 9;  9 6 3;
//         先对每一行翻转,再转置,即逆时针旋转90度
//         1 2 3;  3 2 1;  3 6 9;
//         4 5 6;  6 5 4;  2 5 8;
//         7 8 9;  9 8 7;  1 4 7;
        for(int i = 0; i < n; i ++){
            for(int j = i; j < n; j ++){
                int temp = f[i][j];
                f[i][j] = f[j][i];
                f[j][i] = temp;
            }
        }
        for(int i = 0; i < n; i ++){
            int l = 0, r = n - 1;
            while(l < r){
                int temp = f[i][l];
                f[i][l] = f[i][r];
                f[i][r] = temp;
                l ++;
                r --;
            }
        }
        return f;
    }
}
全部评论

相关推荐

牛客nb666号:看数据范围, -1e4~1e4, 用一个计数数组存一下, 再按个数让k减到0就行; 堆排不是O(n)的, 快速选择算法是O(n)但随机性较强
点赞 评论 收藏
分享
08-18 18:16
延安大学 C++
给我个面试可以吗
投递TP-LINK等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务