LeetCode演算法入門 報數 解法與分析

2021-09-26 01:16:33 字數 1150 閱讀 6479

1.     1

2. 11

3. 21

4. 1211

5. 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"

思路:此題關鍵是要理清楚思路,要搞清楚我們每次往字串中插入的有數字target的個數和數字target.所以我們需要依次便利字串,統計相鄰的數字相鄰的個數,然後一旦相鄰的數字不同了,我們就需要把統計到的個數count和數字target插入字串,遍歷完了要注意最後乙個count和target是沒有插入的,我們需要在外部進行插入。最後在把該快取的字串複製到我們以前那個字串中,然後再次遍歷即可。這裡面要注意int 和 char之間的轉化

**如下:

class

solution

else

} temp.(1

,(char

)(count));

temp.(1

,(char

)(target));

result = temp;

temp.

clear()

;}return result;}}

;

Leetcode報數演算法與分析

leetcode報數 這題是到目前為止,第乙個有點意思的需要腦子的題。說句實話,筆者思考許久,最多寫了4個迴圈,最終還是被自己菜到,卑微地去向大佬們學習借鑑了一下思路,發現本題需要乙個 逆向思維 具體玄妙請看下文分解。廢話少說,上題幹 1 1 2 11 3 21 4 1211 5 111221 1 ...

每日演算法 報數

1.1 2.11 3.21 4.1211 5.1112211被讀作 one 1 乙個一 即11。11被讀作 two 1s 兩個一 即21。21被讀作 one 2 one 1 乙個二 乙個一 即1211。給定乙個正整數 n 1 n 30 輸出報數序列的第 n 項。注意 整數順序將表示為乙個字串。示例 ...

LeetCode演算法入門 顛倒二進位制位 解法與分析

顛倒給定的 32 位無符號整數的二進位制位。示例 1 輸入 00000010100101000001111010011100 輸出 00111001011110000010100101000000 解釋 輸入的二進位制串 00000010100101000001111010011100 表示無符號整...