這篇文章主要介紹LeetCode如何計(jì)算機(jī)器人的運(yùn)動范圍,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、白朗ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的白朗網(wǎng)站制作公司
地上有一個(gè)m行n列的方格,從坐標(biāo) [0,0] 到坐標(biāo) [m-1,n-1] 。一個(gè)機(jī)器人從坐標(biāo) [0, 0] 的格子開始移動,它每次可以向左、右、上、下移動一格(不能移動到方格外),也不能進(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。請問該機(jī)器人能夠到達(dá)多少個(gè)格子?
示例 1:
輸入:m = 2, n = 3, k = 1輸出:3
解題思路:這題主要考察的是回溯法:機(jī)器人從坐標(biāo)(0,0)開始移動,當(dāng)它進(jìn)入坐標(biāo)為(i,j)的格子時(shí),通過檢查坐標(biāo)的位數(shù)和來判斷機(jī)器人能否進(jìn)入, 如果能進(jìn)入的話再判斷下右兩個(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ù)對下右兩個(gè)方向遞歸判斷
以上是“LeetCode如何計(jì)算機(jī)器人的運(yùn)動范圍”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!