<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          leetcode|被一道美團(tuán)面試題轉(zhuǎn)暈

          共 848字,需瀏覽 2分鐘

           ·

          2020-07-31 18:22

          今天為大家講解 LeetCode 第 48 題,是一道中等難度的題目。曾有讀者面試美團(tuán)被問到過,來搞一波~

          題目描述

          給定一個(gè) n × n 的二維矩陣表示一個(gè)圖像。

          將圖像順時(shí)針旋轉(zhuǎn) 90 度。

          說明:

          你必須在原地旋轉(zhuǎn)圖像,這意味著你需要直接修改輸入的二維矩陣。請(qǐng)不要使用另一個(gè)矩陣來旋轉(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] ] 示例 2:

          給定 matrix = [ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7], [15,14,12,16] ],

          原地旋轉(zhuǎn)輸入矩陣,使其變?yōu)? [ [15,13, 2, 5], [14, 3, 4, 1], [12, 6, 8, 9], [16, 7,10,11] ]

          來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/rotate-image 著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

          解題思路

          這道題有點(diǎn)難度,我之前也沒怎么了解,這旋轉(zhuǎn)真是把我轉(zhuǎn)暈了,看的別人的題解慢慢想想畫畫的虧弄懂了。

          這里借用下@讀書就是賺錢 ?的現(xiàn)成圖,我就不畫了,如侵必刪。

          圖片源自@讀書就是賺錢
          圖片源自@讀書就是賺錢

          理解了思路但是寫代碼還是很多細(xì)節(jié)容易出錯(cuò),不清楚的可以debug調(diào)試看看

          //go
          func?rotate(matrix?[][]int)??{
          ?length?:=?len(matrix[0])
          ?var?tmp?int
          ?for?start,end?:=?0,?length-1;?start?//層的控制
          ??for?s,?e?:=?start,?end;?s?//某一層的四個(gè)點(diǎn)的旋轉(zhuǎn)
          ???tmp?=?matrix[start][s]?//記錄左上
          ???matrix[start][s]?=?matrix[e][start]?//左上=左下
          ???matrix[e][start]?=?matrix[end][e]?//左下=右下
          ???matrix[end][e]?=?matrix[s][end]?//右下=右上
          ???matrix[s][end]?=?tmp?//右上=左上
          ???s++
          ???e--
          ??}
          ??start++
          ??end--
          ?}
          }
          //java
          class?Solution?{
          ????public?void?rotate(int[][]?matrix)?{
          ????????int?temp=-1;
          ????????for(int?start=0,end=matrix[0].length-1;start????????????for(int?s=start,e=end;s????????????????temp=matrix[start][s];
          ????????????????matrix[start][s]=matrix[e][start];
          ????????????????matrix[e][start]=matrix[end][e];
          ????????????????matrix[end][e]=matrix[s][end];
          ????????????????matrix[s][end]=temp;
          ????????????};
          ????????};
          ????}
          }

          另外還有個(gè)思路:向右旋轉(zhuǎn)90°,可以理解為先上下翻轉(zhuǎn),再沿對(duì)角線翻轉(zhuǎn)(或者先沿對(duì)角線翻轉(zhuǎn),再左右翻轉(zhuǎn)

          圖片源自@小浩算法

          這個(gè)代碼就不給出,留給大家當(dāng)個(gè)練習(xí)吧?

          鄭重聲明:

          所展示代碼已通過 LeetCode 運(yùn)行通過,請(qǐng)放心食用~



          推薦閱讀



          學(xué)習(xí)交流 Go 語言,掃碼回復(fù)「進(jìn)群」即可


          站長(zhǎng) polarisxu

          自己的原創(chuàng)文章

          不限于 Go 技術(shù)

          職場(chǎng)和創(chuàng)業(yè)經(jīng)驗(yàn)


          Go語言中文網(wǎng)

          每天為你

          分享 Go 知識(shí)

          Go愛好者值得關(guān)注



          瀏覽 54
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久亚洲综合色 | 无码视频黄色 | 免费毛片a在线看 | www.操碰 | 狠狠人妻久久久久久综合99浪潮 |