Count and Say 计数和发言

思路:首先要理解题意,可以发现后者是在前者的基础之上进行的操作,所以我们拿之前的结果作为现在函数的参数循环n-1次即可,接下来就是统计字符串中相应字符的个数,需要注意的是最后一个字符别忘了处理。

class Solution(object):
def countAndSay(self, n):
"""
:type n: int
:rtype: str
"""
if n < 2:
return '1'
ret_str = '1'
while n > 1:
temp, current = '', 0
for i, v in enumerate(ret_str):
if i > 0 and v != ret_str[i-1]:
temp += str(current) + ret_str[i-1]
current = 1
else:
current += 1
ret_str = temp + (str(current) + ret_str[-1] if current > 0 else '')
n -= 1
return ret_str

[LeetCode]Count and Say 计数和发言的更多相关文章

  1. [LeetCode] 38. Count and Say 计数和读法

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  2. [LeetCode] 466. Count The Repetitions 计数重复个数

    Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...

  3. [Leetcode]50. Pow(x, n)

    Implement pow(x, n). 我的做法就比较傻了.排除了所有的特殊情况(而且double一般不可以直接判断==),然后常规情况用循环来做.- -||| 直接用循环,时间复杂度就比较大.应该 ...

  4. [LeetCode]152. Maximum Product Subarray

    This a task that asks u to compute the maximum product from a continue subarray. However, you need t ...

  5. [Swift]基础

    [Swift]基础 一, 常用变量 var str = "Hello, playground" //变量 let str1="Hello xmj112288" ...

  6. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  7. [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]

    1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...

  8. [译]一个灵活的 Trello 敏捷工作流

    [译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...

  9. iOS10收集IDFA,植入第三方广告[终结]--ADMob

    [PS: 前段时间,公司做ASO推广,需要在应用中收集IDFA值,跟广告平台做交互!于是有了这个需求--] 1.首先,考虑了一下情况(自己懒 -_-#),就直接在首页上写了一个Banner,循环加载广 ...

随机推荐

  1. 用aardio给python写个图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头” ...

  2. windows重装后,不重装oracle,直接恢复数据库

    windows重装后,不重装oracle,让原来的库可用的问题环境: windows 7/Oracle 11.2.0.1.0  64位 原来的Oracle安装在D盘.重装只格式化了C盘 1.修改注册表 ...

  3. SQL中多条件查询括号的用途

    界面: 代码 0 posted @ 2009-12-15 13:28 唔愛吃蘋果 阅读(8640) 评论(0)  编辑 收藏

  4. 【Win10】刷新DNS缓存

    释放IP配置信息 C:\Users\zheng>ipconfig /release 刷新DNS C:\Users\zheng>ipconfig /flushdns

  5. 获取windows所有用户名

    #include <LM.h> #pragma comment(lib, "netapi32.lib") // See more: http://msdn.micros ...

  6. Windows界面设计标准

    Windows界面设计标准..- Windows界面设计标准 Windows 界面设计标准 1. 易用性 界面元素的名称.标签应该易懂,用词准确,避免使用模楞两可的字眼,要与同一界面上的其他元素易于区 ...

  7. The Karting 2017ccpc网络赛 1008

    The Karting championship will be held on a straight road. There are N keypoints on the road. The pat ...

  8. 通俗语言解释内外网IP与端口映射

    IP:分为外网IP和内网IP 也就是我们说的外网IP属于实体IP 实体IP,它是独一无二的,在网络的世界里,每一部计算机的都有他的位置,一个 IP 就好似一个门牌!例如,你要去百度的网站的话,就要去『 ...

  9. virtualbox下正确虚拟机修改设备名称

    在学习大数据管理过程中,想要修改虚拟机的设备名称(因为名称太长),所以就直接在右上角的设置中找到详细设置,直接修改设备名称,结果启动Hadoop失败!!!! 后来参考网上问题解决弄好了,现在给出修改设 ...

  10. python编码错误的解决办法 SyntaxError: Non-ASCII character '\xe5' in file

    [提出问题]. 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* ...