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" 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, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
class Solution(object):
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
if n == 1:
return '1'
else:
prev = self.countAndSay(n - 1)
start = 0
res = ''
while start < len(prev):
count = 0
cur = prev[start]
while start < len(prev) and cur == prev[start]:
start += 1
count += 1
res += str(count) + cur
return res

本文详细介绍了计数与说序列算法的核心概念,通过实例演示如何生成指定位置的序列值,适合对算法和字符串操作感兴趣的读者深入理解。

被折叠的 条评论
为什么被折叠?



