zoukankan      html  css  js  c++  java
  • leetcode--Rotate Image

    You are given an n x n 2D matrix representing an image.

    Rotate the image by 90 degrees (clockwise).

    Follow up:
    Could you do this in-place?

    public class Solution {
        /**The algorithm is simple.
         * @author Averill Zheng
         * @version 2014-06-15
         * @since JDK 1.7
         */
        public void rotate(int[][] matrix) {
            int length = matrix.length;
    		for(int i = 0; i < length / 2; ++i){
    			for(int k = i; k < length - 1 - i; ++k){
    				matrix[i][k] += (matrix[k][length - 1 - i] + matrix[length - 1 - i][length - 1 - k] 
    								 + matrix[length - 1 - k][i]);
    				matrix[k][length - 1 - i] = (matrix[i][k] - matrix[k][length - 1 - i] 
    											 - matrix[length - 1 - i][length - 1 - k] 
    											 - matrix[length - 1 - k][i]);
    				matrix[length - 1 - i][length - 1 - k] = (matrix[i][k] - matrix[k][length - 1 - i] 
    						 								  - matrix[length - 1 - i][length - 1 - k] 
    						 								  - matrix[length - 1 - k][i]);
    				matrix[length - 1 - k][i] = (matrix[i][k] - matrix[k][length - 1 - i] 
    						   					 - matrix[length - 1 - i][length - 1 - k] 
    						   					 - matrix[length - 1 - k][i]);
    				matrix[i][k] = (matrix[i][k] - matrix[k][length - 1 - i] 
    						        - matrix[length - 1 - i][length - 1 - k] 
    						        - matrix[length - 1 - k][i]);
    			}
    		}    
        }
    }
    

      

  • 相关阅读:
    网络安全之常见攻击
    引入element-ui
    引入sass
    浏览器解析流程
    JDK8 HashMap--removeNode()移除节点方法
    JDK8 HashMap--treeify()树形化方法
    JDK1.8 HashMap--treeifyBin()方法
    二叉查找树ADT
    队列ADT

  • 原文地址:https://www.cnblogs.com/averillzheng/p/3790273.html
Copyright © 2011-2022 走看看