Leetcode騰訊精選練習23

2021-09-27 04:20:12 字數 943 閱讀 8904

原題:leetcode70 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 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有異曲同工之妙。

1.數學方法

可以先考慮全是1階,然後1個2階,2個二階,一直到n/2個二階,然後每種情況算階乘就行了

public class solution 

return res;

} public int

fac(

int m,

int n)

return

(int

)(fac2 / fac1);}

}

2.遞迴

設n階的方法數是res[n]

則res[1]=1,res2=[2],n>2時res[n]=res[n-1]+res[n-2]。這樣就能用遞迴去解了。

public class solution 

}

執行到44時超出時間限制。

3.迴圈/動態規劃。

直接把各層的方法數算出來。

public class solution 

}

Leetcode騰訊精選練習2

原題 兩個大小為 m 和 n 的排序陣列 nums1 和 nums2 請找出兩個排序陣列的中位數並且總的執行時間複雜度為 o log m n 示例 1 nums1 1,3 nums2 2 中位數是 2.0 示例 2 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 看到這題目自然...

Leetcode騰訊精選練習04

原題 leetcode7 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1...

Leetcode騰訊精選練習05

請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組...