動態規劃3題

2021-10-18 19:29:44 字數 1811 閱讀 9587

乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例 1:

輸入:n = 2

輸出:2

示例 2:

輸入:n = 7

輸出:21

示例 3:

輸入:n = 0

輸出:1

/**

* @param n

* @return

*/var

numways

=function

(n)var ways=

; ways[0]

=1; ways[1]

=1;for

(i=2

;i1;i++

)return ways[n];}

;

乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。

機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。問總共有多少條不同的路徑?

var

robot

=function

(m,n)

for(

var i=

0;i1;i++

)for

(var i=

0;i1;i++

) f[1]

[1]=

1;for(

var i=

1;i1;i++

) f[i]

[j]=f[i-1]

[j]+f[i]

[j-1];

//狀態轉移方程}}

return f[m]

[n];

} console.

log(

robot(7

,3))

;

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。

說明:每次只能向下或者向右移動一步。

示例: 輸入:[ [1,3,1], [1,5,1], [4,2,1] ]

輸出: 7

解釋: 因為路徑 1→3→1→1→1 的總和最小。

var

minway

=function

(grid)

sum[0]

[0]= grid[0]

[0];

for(

var i=

0;i)else

if( i-

1<0)

else

if( j-

1<0)

else}}

return sum[grid.length-1]

[grid[0]

.length-1]

;//sum[m][n]=math.min(sum[m-1][n],sum[m][n-1])+grid[m][n];//狀態轉移方程

}var grid =[[

1,3,

1],[

1,5,

1],[

4,2,

1]]console.

log(

minway

(grid)

);

動態規劃(3)

robberies include include include includeusing namespace std 這題是參考的 自己的能力還是不可以。不過做了這題,再和0 1揹包問題想一想,覺得收穫還是不錯。說將逃跑率當成物品價值 小弟還是要繼續消化這條題的思想。double f 10020...

3動態規劃

此次專題主要講解動態規劃,題目大致分為兩類 一種是遞迴來解決,一種是0 1揹包問題。動態規劃就是把乙個問題分成多個階段來解決,並且每個階段都相互有所聯絡。其遵循最優性原理。1,不論初始狀態和第一步決策是什麼,餘下的決策相對於前一次決策所產生的新狀態,構成乙個最優決策序列。2,最優決策序列的子串行,一...

動態規劃 3

尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完成,尼克可以任選其中的乙個來做,而其...