look and say 外观数列的python实现
#look_and_say 外观数列
#模拟栈弹出的操作,以弹出的第一个值作为其他弹出的值比较,如果相等i++,不等,开始下一次记录。 def LookSay(look_s):
li = list(look_s)
#同样数值的计数器 i
i= 1
#依次弹出列表的数值
a = li.pop(0)
#处理look_s = '1'的情况
if len(li) == 0:
return str(i) + a
#结果集
st = ''
while len(li) > 0:
s = li.pop(0)
if a == s:
i += 1
else:
st = st + str(i) + a
a = s
i = 1
#处理最后弹出的情况
if len(li) == 0:
st = st + str(i) + s
return st te = '1'
while True:
te = LookSay(te)
print(te)
正则表达式处理:
def LookSay(look_s):
#正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同。
#注意:\1必须与小括号配合使用
st = ''
for s in re.finditer(r"(\d)\1*",look_s):
st = st + str(len(s.group(0)))+s.group(1)
return st
look and say 外观数列的python实现的更多相关文章
- 【LeetCode】38. 外观数列 Count and Say
作者: 负雪明烛 id: fuxuemingzhu 公众号:负雪明烛 本文关键词:LeetCode,力扣,算法,算法题,外观数列,Count and Say,刷题群 目录 题目描述 题目大意 解题方法 ...
- PAT 1084 外观数列(20)(代码+思路+推荐测试用例)
1084 外观数列(20 分) 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 ...
- PAT 1084 外观数列
https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120 外观数列是指具有以下特点的整数序列: d, ...
- 斐波那契数列的Python实现
斐波那契数列的Python实现:递归实现.非递归实现.斐波那契数列生成器: \[ \begin{equation} F(n)= \begin{cases} n & n=0, 1\\ F(n ...
- PAT(B) 1084 外观数列(Java)
题目链接:1084 外观数列 (20 point(s)) 题目描述 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, - 它从不等于 ...
- PAT Basic 1084 外观数列 (20 分)
外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...
- 1084 外观数列 (20 分)C语言
外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...
- P1084 外观数列
转跳点:
- Java实现 LeetCode 38 外观数列
38. 外观数列 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述.前五项如下: 1 11 21 1211 111221 1 被读作 "one 1" ...
随机推荐
- 把Ubuntu系统自带的源修改为国内的源,中科大源链接:https://mirrors.ustc.edu.cn/repogen/
https://mirrors.ustc.edu.cn/repogen/ Tips: 可通过 URL 的形式直接下载配置. 例如: https://mirrors.ustc.edu.cn/repoge ...
- CSS - 实现荧光边框
1,index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 15 ~ express ~ 用户数据分页原理和实现
一,在后台路由 /router/admin.js 中 1,限制获取的数据条数 : User.find().limit(Number) 2,忽略数据的前(Number)条数据 : skip(Number ...
- zabbix监控linux 以及监控mysql
Zabbix监控Linux主机设置方法 linux客户端 :59.128 安装了mysql 配置zabbix的yum源 rpm -ivh http://repo.zabbix.com/zabbix/2 ...
- swift中实现cell中局部播放的动画效果
在cell中 // 播放器动画效果 private var replicatorLayer:ReplicatorLayer = { let layer = ReplicatorLayer.init(f ...
- 关于fdisk命令
fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区. [root@loclhost ~]# fdisk /dev/sdb Command (m for help): m #输入m列出常用的命令 C ...
- sqlcook sql经典实例 emp dept 创建语句
创建表语句 create table dept( deptno int primary key, dname varchar(30), loc varchar(30) ); create table ...
- python try catch 打印traceback
1. import traceback try: print(AB) except Exception, e: traceback.print_exc()
- java获取配置文件信息
两个类 package com.censoft.util; import java.util.Properties; import java.io.*; import java.util.ArrayL ...
- STL库中的equal_range()
equal_range根据键值,返回一对迭代器的pair对象.如果该键值在容器中存在,则pair对象中的第一个迭代器指向该键关联的第一个实例,第二个迭代器指向该键关联的最后一个实例的下一位置.如果找不 ...