Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 机智的秋秋秋
- * 「解题思路」原理很简单……拿纸画了半天自己把自己搞疯了……然后借鉴了一下网上的办法……
- * 「时间复杂度」O(n^2)
- * 「空间复杂度」你猜
- * 「其他」
- */
- public class Rotation {
- public static void main(String[] args){
- int[][] img = new int[][]{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
- for (int i = 0; i < img.length; i++) {
- for (int j = 0; j < img[0].length; j++) {
- System.out.print(img[i][j] +" ");
- }
- System.out.println("");
- }
- rotate(img);
- for (int i = 0; i < img.length; i++) {
- for (int j = 0; j < img[0].length; j++) {
- System.out.print(img[i][j] +" ");
- }
- System.out.println("");
- }
- }
- private static void rotate(int[][] img) {
- int n = img.length;
- if(n<=1){
- return;
- }
- for(int i = 0; i < n/2; i++)
- for(int j = i; j < n-i-1; j++) {
- // swap
- int t = img[i][j];
- img[i][j] = img[n-j-1][i];
- img[n-j-1][i] = img[n-i-1][n-j-1];
- img[n-i-1][n-j-1] = img[j][n-i-1];
- img[j][n-i-1] = t;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement