搜索微信公衆號:'AI-ming3526'或者'計算機視覺這件小事' 獲取更多算法、機器學習乾貨
csdn:https://blog.csdn.net/baidu_31657889/
csdn:https://blog.csdn.net/abcgkj/
github:https://github.com/aimi-cn/AILearnerspython
這是由LeetCode官方推出的的經典面試題目清單~
這個模塊對應的是探索的初級算法~旨在幫助入門算法。咱們第一遍刷的是leetcode推薦的題目。
查看完整的劍指Offer算法題解析請點擊github連接:
github地址git
假設你正在爬樓梯。須要 n 階你才能到達樓頂。github
每次你能夠爬 1 或 2 個臺階。你有多少種不一樣的方法能夠爬到樓頂呢?面試
注意:給定 n 是一個正整數。算法
示例1:編程
輸入: 2 輸出: 2 解釋: 有兩種方法能夠爬到樓頂。 1. 1 階 + 1 階 2. 2 階
示例2:微信
輸入: 3 輸出: 3 解釋: 有三種方法能夠爬到樓頂。 1. 1 階 + 1 階 + 1 階 2. 1 階 + 2 階 3. 2 階 + 1 階
首先我能夠確切的告訴你,這種簡單的爬樓梯也是一個斐波那契數列,不信你本身從簡單的數1,2,3..本身推論一下。機器學習
接着,咱們來討論通常狀況。咱們把n級臺階時的跳法當作是n的函數,記爲f(n)。當n>2時,第一次跳的時候就有兩種不一樣的選擇:一是第一次只跳1級,此時跳法數目等於後面剩下的n-1級臺階的跳法數目,即爲f(n-1);另一種選擇是跳一次跳2級,此時跳法數目等於後面剩下的n-2級臺階的跳法數目,即爲f(n-2)。所以n級臺階的不一樣跳法的總數f(n)=f(n-1)+f(n-2)。分析到這裏,咱們不難看出這實際上就是斐波那契數列了。函數
python學習
class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ if n == 1: return 1 a = 1 b = 1 for i in range(1,n): a , b = b , a+b return b
AIMI-CN AI學習交流羣【1015286623】 獲取更多AI資料
分享技術,樂享生活:咱們的公衆號計算機視覺這件小事每週推送「AI」系列資訊類文章,歡迎您的關注!
本文由博客一文多發平臺 OpenWrite 發佈!