日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Leedcode][JAVA][面试题 01.07][找规律][旋转数组]

發(fā)布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Leedcode][JAVA][面试题 01.07][找规律][旋转数组] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【問題描述】 [面試題 01.07. 旋轉(zhuǎn)矩陣]

示例 1:給定 matrix = [[1,2,3],[4,5,6],[7,8,9] ],原地旋轉(zhuǎn)輸入矩陣,使其變?yōu)? [[7,4,1],[8,5,2],[9,6,3] ]給你一幅由 N × N 矩陣表示的圖像,其中每個像素的大小為 4 字節(jié)。請你設(shè)計一種算法,將圖像旋轉(zhuǎn) 90 度。不占用額外內(nèi)存空間能否做到?

【解答思路】

1. 借助輔助矩陣 找規(guī)律 (不符合題意)

時間復雜度:O(N^2) 空間復雜度:O(N)

public void rotate1(int[][] matrix) {if (matrix == null || matrix.length == 0) return;int n = matrix.length;int[][] res = new int[n][n];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {res[j][n-i-1] = matrix[i][j];}}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {matrix[i][j] = res[i][j];}}}
2.先沿對角線翻轉(zhuǎn) ,再沿中間列翻轉(zhuǎn)

時間復雜度:O(N^2) 空間復雜度:O(1)

class Solution {public void rotate(int[][] matrix) {int n = matrix.length;//矩陣轉(zhuǎn)置,即按斜對角線進行數(shù)據(jù)交換for(int i=0;i<n;i++){for(int j=i;j<n;j++){int temp = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = temp;}}//矩陣根據(jù)中間列進行對折,得到最終結(jié)果for(int i=0;i<n;i++){for(int j=0;j<n/2;j++){int temp = matrix[i][j];matrix[i][j] = matrix[i][n-j-1];matrix[i][n-j-1] = temp;}}} }
3. 原地修改,原矩陣分塊交換 四個一組 交換位置


時間復雜度:O(N^2) 空間復雜度:O(1)

public void rotate2(int[][] matrix) {if (matrix == null || matrix.length == 0) return;int n = matrix.length;for (int i = 0; i < n / 2 ; i++) {for (int j = 0; j < (n + 1) / 2; j++) {int tmp = matrix[i][j];matrix[i][j] = matrix[n-j-1][i];matrix[n-j-1][i] = matrix[n-i-1][n-j-1];matrix[n-i-1][n-j-1] = matrix[j][n-i-1];matrix[j][n-i-1] = tmp;}}}

【總結(jié)】

  • 翻轉(zhuǎn)數(shù)組 找規(guī)律
  • 分塊分治思想 對折思想
  • 優(yōu)化思想 空間時間互換
  • 總結(jié)

    以上是生活随笔為你收集整理的[Leedcode][JAVA][面试题 01.07][找规律][旋转数组]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。