溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

LeetCode如何計(jì)算機(jī)器人的運(yùn)動(dòng)范圍

發(fā)布時(shí)間:2021-12-15 14:06:26 來(lái)源:億速云 閱讀:84 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹LeetCode如何計(jì)算機(jī)器人的運(yùn)動(dòng)范圍,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

地上有一個(gè)m行n列的方格,從坐標(biāo) [0,0] 到坐標(biāo) [m-1,n-1] 。一個(gè)機(jī)器人從坐標(biāo) [0, 0] 的格子開(kāi)始移動(dòng),它每次可以向左、右、上、下移動(dòng)一格(不能移動(dòng)到方格外),也不能進(jìn)入行坐標(biāo)和列坐標(biāo)的數(shù)位之和大于k的格子。例如,當(dāng)k為18時(shí),機(jī)器人能夠進(jìn)入方格 [35, 37] ,因?yàn)?+5+3+7=18。但它不能進(jìn)入方格 [35, 38],因?yàn)?+5+3+8=19。請(qǐng)問(wèn)該機(jī)器人能夠到達(dá)多少個(gè)格子?

示例 1:

輸入:m = 2, n = 3, k = 1輸出:3

解題思路:這題主要考察的是回溯法:機(jī)器人從坐標(biāo)(0,0)開(kāi)始移動(dòng),當(dāng)它進(jìn)入坐標(biāo)為(i,j)的格子時(shí),通過(guò)檢查坐標(biāo)的位數(shù)和來(lái)判斷機(jī)器人能否進(jìn)入, 如果能進(jìn)入的話(huà)再判斷下右兩個(gè)方向的點(diǎn)能否進(jìn)入。

  這就需要兩個(gè)函數(shù)

        1、private int getDigiSum(int number)  :計(jì)算輸入數(shù)的位數(shù)之和

        2、private void check(int k, int m, int n, int i, int j, int[][] visited):傳入i,j兩點(diǎn) 判斷當(dāng)前點(diǎn)是否符合規(guī)則 符合規(guī)則下繼續(xù)對(duì)下右兩個(gè)方向遞歸判斷

以上是“LeetCode如何計(jì)算機(jī)器人的運(yùn)動(dòng)范圍”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI