您的位置:首页 > 编程语言 > Python开发

LeetCode--Count and Say(Python)

2017-11-17 10:37 363 查看
题目:

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’包含1个1,则返回的是‘11’,第三条统计第二条,‘11’包含两个1,则返回‘21’,依次类推,第四条统计第三条,包含1个1和1个2,故返回’1211‘。

解题思路:

直接用迭代的方式,按照提议对上一条字符串进行统计即可,比较简单。需要注意的是字符串的边界条件等。

代码(python):

class Solution(object):
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
if n==1:
return '1'
if n==2:
return '11'
s = '11'
for i in range(n-2):
count = 1
temp_s = ''
for j in range(len(s)-1):
if s[j]==s[j+1]:
count = count+1
else:
temp_s = temp_s+str(count)+s[j]
count = 1
temp_s = temp_s+str(count)+s[j+1]
s = temp_s
print s
return s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: