Leetcode騰訊50題精選題解 報數問題

2021-09-22 21:35:36 字數 709 閱讀 3291

111

211211

111221

1 被讀作 「one 1」 (「乙個一」) , 即 11。

11 被讀作 「two 1s」 (「兩個一」), 即 21。

21 被讀作 「one 2」, 「one 1」 (「乙個二」 , 「乙個一」) , 即 1211。

給定乙個正整數 n(1 ≤ n ≤ 30),輸出報數序列的第 n 項。

注意:整數順序將表示為乙個字串。

示例 1:

輸入: 1

輸出: 「1」

示例 2:

輸入: 4

輸出: 「1211」

此題我們很容易就得到題目報數的規律,由題目可以知道,6:312211,又因為題目中要求我們正整數為0~30,,所以我們可以採用暴力法,用switch語句來寫,即:將0 ~30的所有報數方法,通過switch直接寫出來!不過此中方法僅只限於n值比較小時,如果n比較大時,我們不推薦用!

由於我們知道本體數字報數的規律,並且知道n=1時,報數11,那麼我們可以很容易想到斐波拉契數列,所以我們可以嘗試用遞迴的方法解題!

運用遞迴,我們可以考慮將報數看為一系列數字字串,那麼我們就可以考慮用陣列將至儲存。

class

solution

else}}

return res;}}

;

leetcode騰訊精選50題(1)

菜鳥第一課 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nums 的前兩個元素...

leetcode 騰訊精選50題 21

given a linked list,rotate the list to the right by k places,where k is non negative.鍊錶的特殊性在於其可以只改變其所指向的位址,而不改變資料存放的真正位址,於是將其收尾閉合後可直接得到乙個閉環的鍊錶,在將其在指定的...

leetcode 騰訊精選50題 LRU快取機制

題目如下 運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料 put key,value 如果金鑰不存在,則寫入...