当前位置:网站首页>淺析一道經典題

淺析一道經典題

2022-06-26 06:42:00 The code family

                 淺析一道經典題

這是acwing平臺上的語法題裏面的一道題目,初學的時候覺得有點難度,現在拿出來看看覺得還蠻有意思,多這些這種題目的確增加些刷題的樂趣hh。。。經典值得反複康康。。(而且發現偏移量和曼哈頓距離這種經典都可以寫寫博客拓展幫助記憶)

其實是自己的能力也只能分析分析這種題目手動狗頭。。力進步中

直接上題目來自於刷題網站acwing

 

沒錯 ,,它就是非常非常經典的“”蛇形矩陣“”。。(如圖)

 

根據題目的意思,輸入倆個數 , 輸出一個矩陣蛇字排列即可。。無論新手老手肯定想到用數組來比較方便(應該有很多方法可以做)。於是引出需要遍曆上下如圖:

 

很多題目都要設置一個偏移量。。如上(非常常用的技巧)

對於一個比特置的數,以他為原點建造一個坐標系,寫出上下左右的坐標,以0或1錶示與這個點水平軸或者縱軸的距離。這樣等下就可以設置一個偏移量數組d【x】,這樣就可以錶示出每次走的時候下一個格子的坐標,方便了很多很多。

  還有個問題就是確定需要轉向的比特置(走到頂部了)這時候就需要改變偏離的方向,利用取餘就可達成(d = (d+1)%4)因為總共四個數,這樣就能完成轉向(偏轉90度的目標)。。

所以上代碼:

 

好像這還是微軟的面試題。。Leetcode也有個類似的螺旋矩陣。。

偏移量是個非常常用且流弊的工具,看以後學精後能不能把做過的用了後方便很多的題總結出來看看。。

原网站

版权声明
本文为[The code family]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/177/202206260637154897.html