日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > Leetcode: Unique Paths

Leetcode: Unique Paths

來源:程序員人生   發布時間:2015-04-13 08:22:42 閱讀次數:2732次

題目:

A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

How many possible unique paths are there?


Above is a 3 x 7 grid. How many possible unique paths are there?

Note: m and n will be at most 100.




思路分析:

又是動態計劃問題。


開1個f[m][n]的數組,數組元素初始化為1,遞推公式f[i][j] = f[i⑴][j] + f[i][j⑴],空間時間復雜度O(m*n)。

(可以將f[m][n]理解成為從f[0][0]到達f[m][n]的路徑個數。那很自然的就會f[i][j] = f[i⑴][j] + f[i][j⑴]。有感覺遞推公式還不是能很好想出來的,繼續加強訓練吧!)



C++參考代碼:

class Solution { public: int uniquePaths(int m, int n) { //將vector中的元素初始化為1 vector<vector<int>> v(m, vector<int>(n, 1)); for (int i = 1; i < m; ++i) { for (int j = 1; j < n; ++j) { v[i][j] = v[i - 1][j] + v[i][j - 1]; } } return v[m - 1][n - 1]; } };

代碼還可以進1步優化。

由C(n,k) = C(n⑴,k) + C(n⑴,k⑴);
對應于楊輝3角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
………………

所以利用楊輝3角,開1個f[n]的數組,數組元素初始化為1,遞推公式f[i]+=f[i⑴],空間時間復雜度O(n)。

class Solution { public: int uniquePaths(int m, int n) { vector<int> v(n, 1); for (int i = 1; i < m; ++i) { for (int j = 1; j < n; ++j) { v[j] += v[j - 1]; } } return v[n - 1]; } };


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: av久久 | 精品伦精品一区二区三区视频 | 久久国产一区二区 | 一级毛片aaaaaa免费看 | 成人福利网| 99在线视频观看 | 草视频| 黄色毛片视频在线观看 | 国产精品成人一区二区三区 | 欧美日韩国产色 | 激情国产综合 | 国产在线激情 | 日本激情网| 精品久久久一区 | 综合国产| 毛片免费播放 | 美女福利一区 | 精品国产福利 | 国产二区精品 | 中文字幕 视频一区 | 亚洲区日韩 | 黄色高清| 不卡一二三区 | 日韩福利一区二区 | 亚洲国产一区在线观看 | 新91网站| 亚洲国产精品久久久久久久久久 | 亚洲国产精品免费 | 中国久久| 色姑娘综合色 | 国产精品福利视频 | 91这里只有精品 | 欧美1区| 最新av电影网站 | 亚洲国产成人精品女人久久久 | 国产一区二区三区视频在线 | 国产免费黄色网址 | 久久福利精品 | 精品一二三区视频 | 91免费视频观看 | 日本福利一区二区三区 |