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" ...
随机推荐
- Java算法练习——整数转罗马数字
题目链接 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 ...
- 19 ~ express ~ 文章的增加 , 查看 ,修改 ,删除
一,前台 1,添加文章 /views/admin/content_add.html {% extends 'layout.html' %} {% block main %} <ol class= ...
- Scrapy的学习和使用
1.安装 在windows下安装是真心复杂,不搞了,直接在linux下研究吧! sudo pip install scrapy 2.安装遇到问题 2.1.bz2 module not availabl ...
- 201909-2 小明种苹果(续) Java
思路: 待补充 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc ...
- Java web项目所需技术*(大概)
实施java 的web项目需要掌握的技术如下: 1.java语言 2. 面向对象分析设计 XML 语言 网页脚本语言 数据库 应用服务器 集成开发环境 .java语言:JSP.Servlet.JDB ...
- 运行xv6
我们使用Qemu在Ubuntu下运行 1. 安装Qemu sudo apt-get install qemu 执行 qemu-system-i386 ,如果弹出Qemu界面说明安装成功了 2. 编译x ...
- ping内网服务器 新
#!/bin/bash ip="192.168.1."lastip=(200201202210211212220221222) #ip列表 可以继续添加 ps () { ping ...
- C#调用C++系列一:简单传值
因为去实习的时候有一个小任务是C#想调用C++ opencv实现的一些处理,那我主要的想法就是将C++实现的OpenCV处理封装成dll库供C#调用,这里面还会涉及到一些托管和非托管的概念,我暂时的做 ...
- 吴裕雄--天生自然C++语言学习笔记:C++简介
C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 年在贝尔实验室开始设计开发的.C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言.C++ 可运行于多种平台上,如 ...
- pywin32获得tkinter窗口句柄,并在上面绘图
想实现用win32 API在tkinter窗口上画图,那么应该先获得tkinter窗口的句柄hwnd,然后再获得tkinter的设备hdc.尝试了FindWindow(),GetActiveWindo ...