顺时针旋转矩阵90°的几种方法
来源:互联网 发布:mac怎么格式化移动硬盘 编辑:程序博客网 时间:2024/05/17 23:51
方法一:
arr mat
0,0 -> n, 0
0,1 -> n-1-1, 0
0,n-1 ->0,0=> i, j -> n-1-j , i
import java.util.*; public class Rotate { public int[][] rotateMatrix(int[][] mat, int n) { // write code here int [][] arr = new int[n][n]; for (int i = 0 ; i < n; i++ ) { for ( int j =0; j < n; j++){ arr [i][j] = mat[n-j-1][i]; } } return arr; }}
方法二:
从外向内一层一层旋转
import java.util.*; public class Rotate { public int[][] rotateMatrix(int[][] arr2, int n) { // write code here for (int i = 0; i < (n/2)+1; i++) { for (int j = i; j < n-1-i; j++) { for (int k = 0; k < 3; k++) { arr2[n-1-j][i] = arr2[i][j] + (arr2[i][j] = arr2[n-1-j][i])*0; i = (n -1 -j) + ( j = i)*0; } i = (n -1 -j) + ( j = i)*0; } } return arr2; }}
方法三:
奇葩方法,瞎弄出来的,先得到矩阵结果集的左下角,然后在对右上角做处理
import java.util.*; public class Rotate { public int[][] rotateMatrix(int[][] arr, int n) { for (int i = n-1; i >= 0; i--) { for (int j = n-1-i; j < n; j++){ arr[j][n-1-i] = arr[i][j] + (arr[i][j] = arr[j][n-1-i])*0; } } //循环结束后得到结果矩阵的左半部分,包含左上到右下对角线 // 对未排序的右上角矩阵进行处理 for(int i = 0; i < n-1 ; i++){ for(int j = i+1; j < n-1-i ; j++){ arr[j][n-1-i] = arr[i][j] + (arr[i][j] = arr[j][n-1-i])*0; } } return arr; }}
0 0
- 顺时针旋转矩阵90°的几种方法
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 矩阵顺时针旋转90度
- 顺时针九十度旋转矩阵(两种方法)
- 顺时针九十度旋转矩阵(两种方法)
- 【矩阵】矩阵顺时针旋转
- 矩阵顺时针旋转90°、180°、270°
- 把矩阵顺时针旋转90度
- M*N矩阵顺时针旋转90度
- leecode 矩阵顺时针旋转90度
- Java实现矩阵顺时针旋转90度
- 矩阵顺时针旋转
- 顺时针旋转矩阵
- 顺时针旋转矩阵
- 顺时针旋转矩阵
- JS DOM编程艺术学习笔记(二)
- Handler优化以及SharedPreferences工具类的封装
- eclipse快捷键以及使用技巧大全 (其中shift+ctrl+F 格式化 会和搜狗输入法冲突,把输入法这个关了)
- 网络:用 socket 做简单聊天
- javascript-4.数组(2)
- 顺时针旋转矩阵90°的几种方法
- 线性回归-3-最小二乘法
- 10分钟-jQuery操作DOM元素
- Linux _ pthread 线程 信号
- 快速排序算法
- 神经网络入门(连载之一)
- Java中byte与16进制字符串的互相转换
- Android 动画原理详解
- 6.9 Android Framework - ClipDrawable