做网络作家哪个网站好,网站建设十年杜绝模板,微信公众号登录平台登录官网,xz域名网站48.旋转图像 
规律#xff1a; 对于矩阵中第 i行的第 j 个元素#xff0c;在旋转后#xff0c;它出现在倒数第i 列的第 j 个位置。 matrix[col][n−row−1]matrix[row][col] 
可以使用辅助数组#xff0c;如果不想使用额外的内存#xff0c;可以用一个临时变量 。 还可以通…48.旋转图像 
规律 对于矩阵中第 i行的第 j 个元素在旋转后它出现在倒数第i 列的第 j 个位置。 matrix[col][n−row−1]matrix[row][col] 
可以使用辅助数组如果不想使用额外的内存可以用一个临时变量 。 还可以通过水平翻转后再进行主对角线翻转。 
class Solution {public void rotate(int[][] matrix) {int n  matrix.length;// 水平翻转for(int i0; in/2; i){for(int j0; jn; j){int temp  matrix[i][j];matrix[i][j]matrix[n-i-1][j];matrix[n-i-1][j]temp;}}// 主对角线翻转for(int i0; in; i){for(int j0; ji; j){int temp  matrix[i][j];matrix[i][j]  matrix[j][i];matrix[j][i]temp;}}}
} 
240.搜索二维矩阵 II 
由于矩阵 matrix中每一行的元素都是升序排列的因此我们可以对每一行都使用一次二分查找判断 target 是否在该行中从而判断 target 是否出现。 
也可以采用Z字形查找。 
从矩阵 matrix的右上角 (0,n−1)进行搜索。在每一步的搜索过程中如果我们位于位置 (x,y)那么我们希望在以 matrix 的左下角为左下角、以 (x,y)为右上角的矩阵中进行搜索即行的范围为 [x,m−1]列的范围为 [0,y]。 
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m  matrix.length, n  matrix[0].length;int x0, yn-1;while(xm  y0){if(matrix[x][y]target){return true;}if(matrix[x][y]target){x;}else{y--;}}return false;}
}