網格從左下角移動到右上角有多少種路線(動態規劃)

2021-08-11 11:26:39 字數 824 閱讀 1310

在面試中遇到的乙個問題,螞蟻從(m,n)的網格一角爬到對角(不能往回爬),查了一些東西,自己寫下自己的一些理解,望大神指點。

從網格的一角爬到對角,有多少中爬法。

理解部分:

將其進行轉換,轉換為從(m,n)座標到(0,0)座標有多少種移動方法。(只能下移,左移)

。 。 。 。 。 。

。 。 。 。 。 。

1 3 6 10 。 。

1 2 3 4 。 。

0 1 1 1 。 。

如上圖所示,將(m,n)點到(0,0)的路線進行一系列的細分,

(i,j)為點的位置。起始位置為(m,n)。

(m,n)= (m,n-1)+(m-1,n);有兩種走法。

(m,n-1) = (m,n-2)+(m-1,n-1);即(m,n-1)點接下來有兩種走法,同理(m-1,n) = (m-1,n-1)+(m-2,n);

。。。。

當(i,j)中的i=0,或者j=0時,接下來只能進行右移,或者上移,即此時只有一種走法。

即m=0,或者n=0,則只有一種走法,return 1;

**如下:

public class gridcrawl

else if ((m == 0) && (n > 0))//只可以下移

else if ((n == 0) && (m > 0))//只可以左移

else if ((m == 1 && n == 0) || (m == 0 && n == 1))

else

return 0;}}

簡化寫法

public static int crawl(int m,int n)

513 找樹左下角的值

給定乙個二叉樹,在樹的最後一行找到最左邊的值。示例 1 輸入 2 1 3 輸出 1 示例 2 輸入 1 2 3 4 5 6 7 輸出 7思路 維護乙個最大深度max depth如果深度更新,則對應的值也更新。這裡注意先更新右邊再更新左邊,這樣最後的值將會是最左邊的值,左邊的值會把右邊的覆蓋掉,如果深...

2021 03 14 513 找樹左下角的值

給定乙個二叉樹,在樹的最後一行找到最左邊的值。示例 1 輸入 2 13輸出 1 示例 2 輸入 1 23 456 7輸出 7 注意 您可以假設樹 即給定的根節點 不為null。這裡可以對二叉樹進行層序遍歷,而層序遍歷就是基於廣度優先遍歷的。在遍歷的過程中,我們初始化乙個佇列來儲存當前層的節點,這個過...

有道雲筆記去除左下角廣告

印象限制登入台數,為知收費,只能投靠有道了,哎!找到有道雲筆記的安裝路徑,youdao youdaonote theme build.xml 用筆記本開啟這個檔案,找到 左下角廣告 這幾個字,把下面的 刪掉 type adpanel css public ass mainform panelclie...