LeetCode38. Count and Say
阿新 • • 發佈:2018-12-10
The count-and-say sequence is the sequence of integers with the first five terms as following:
1. 1
2. 11
3. 21
4. 1211
5. 111221
1
is read off as "one 1"
or 11
.11
is read off as "two 1s"
or 21
.21
is read off as "one 2
, then one 1"
or 1211
.
Given an integer n where 1 ≤ n ≤ 30, generate the n
Note: Each term of the sequence of integers will be represented as a string.
<思路>題看著比較煩,只能一步步讀數。cur_val是當前要讀的數(一位),count是這個數的個數,part算是中間變數,儲存的是這一次迴圈的count和cur_val(幾個幾)。
class Solution(object): def countAndSay(self, n): """ :type n: int :rtype: str """ num = '1' while n>1: cur_val = num[0] count = 0 part = '' for j in num: if cur_val == j: count += 1 else: part += str(count)+cur_val cur_val = j count = 1 part += str(count) + cur_val num = part n -= 1 return num