乙個環上有10個點,編號為0-9,
從0點出發,每步可以順時針到下乙個點,也可以逆時針到上乙個點,
求:經過n步又回到0點有多少種不同的走法?
舉例:如果n = 1,則從0出發只能到1或者9,不可能回到0,共0種走法
如果n = 2,則從0出發有4條路徑:0->1->2, 0->1->0, 0->9->8, 0->9->0,其中有兩條回到了0點,故一共有2種走法
動態規劃
考慮用動態規劃的思想,只可能從左邊或者右邊相鄰點回到原點,即先到旁邊的點,看看有多少回來的方法。
狀態方程為:dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1];
由於可能發生越界,故轉換為
dp[i][j] = dp[i-1][(j-1+k)%k] + dp[i-1][(j+1)%k];
解釋為:i步達到j點的問題,轉化為i-1步到達相鄰的兩個節點的方法數之和。
public class cycle
// k為環中總的點數,n為步數
private int cycle(int n, int k)
}return dp[n][0];
}}
dfs
其實思路差不多,因為只能往左或往右走
// n為剩餘步數,k為當前所在節點
private int dfs(int n, int k)
if(n == 0)
return dfs(n-1,(k-1+10)%10)+dfs(n-1,(k+1)%10);
}
名企中等 最長回文子串的長度
題目描述 對於乙個字串,請設計乙個高效演算法,計算其中最長回文子串的長度。給定字串a以及它的長度n,請返回最長回文子串的長度。示例1輸入 abc1234321ab 12 返回值7 這個題目用到了動態規劃的思想具體 注意字串的遍歷順序一定是從後向前的,因為這樣才能解決之前沒有計算而直接出答案的問題。這...
走向名企(IT篇)(序言)
preface序 面 對日益增長的畢業生人數,大學生的就業問題成為公眾關注的熱點。資料顯示,2006 年全國普通高校畢業生達四百一十三萬人,相當於牽涉 400萬中國家庭,每個家庭平均 4人算,就是 1600 萬人牽腸掛肚。2002 年以來畢業生人數不斷再創新高,到 2008 年這種勢頭都不會減弱,可...
外企 國企 名企 筆記
一般性國企 工資不高漲幅不大,工作比較輕鬆,上公升空間有限 商業銀行 比較難進,可以推薦一把 500強外企 規範的管理 薪酬體系,考核機制 外企天花板已經不存在了 1.工作環境 一般比較好,特別是歐美的企業,比較注重企業文化,對員工的培訓比較多,有歸屬感。2.技術發展 能與國際接軌,眼界放開了考慮問...