[勇者闯LeetCode] 38. Count and Say
Description
The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1
is read off as"one 1"
or11
.
11
is read off as"two 1s"
or 21.
21
is read off as"one 2
, thenone 1"
or1211
.
Given an integer n, generate the nth sequence.Note: The sequence of integers will be represented as a string.
Information
- Tags: String
- Difficulty: Easy
Solution
class Solution(object):
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
def update(xs):
cnt, val = 1, xs[0]
ans = ""
for x in xs[1:]:
if x == val:
cnt += 1
else:
ans += str(cnt) + val
val = x
cnt = 1
ans += str(cnt) + val
return ans
s = "1"
for _ in range(1, n):
s = update(s)
return s