Leetcode 面试题 01.06.字符串压缩

1 题目描述(Leetcode题目链接)

  字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

 输入:"aabcccccaaa"输出:"a2b1c5a3"
 输入:"abbccd"输出:"abbccd"解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。

提示:字符串长度在[0, 50000]范围内。

2 题解

  简单计数就可以了。

class Solution:def compressString(self, S: str) -> str:if not S:return Snew = "" + S[0]cnt = 1for i in range(1, len(S)):if S[i] == S[i-1]:cnt += 1else:new += str(cnt) + S[i]cnt = 1new += str(cnt)return new if len(S) > len(new) else S

Leetcode 面试题 01.06.字符串压缩(Compress String LCCI)相关推荐

  1. LeetCode 面试题 01.06. 字符串压缩 (双指针)

    面试题 01.06. 字符串压缩 题意: 压缩字符串,如:"aabbccc"压缩为"a2b2c3",如果压缩后的字符串长度大于等于原字符串,则返回原来的字符串. ...

  2. Leetcode:面试题 01.06. 字符串压缩

    题目: 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返回原 ...

  3. 程序员面试金典 - 面试题 01.06. 字符串压缩(字符串)

    1. 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返 ...

  4. 面试题 01.06. 字符串压缩

    2020-03-16 1.题目描述 字符串压缩 2.解题思路 用一个字符变量c存放第一个不同的字符,然后遍历其后面的字符,如果相同则cnt加一,否则更新c 以及cnt,注意这里的cnt是可能大于10的 ...

  5. 程序员面试金典面试题 01.06. 字符串压缩

    前言 本系列文章为<程序员面试金典>刷题笔记. 题目位置:字符串压缩 题集:程序员面试金典 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串a ...

  6. 文巾解题 面试题 01.06. 字符串压缩

    1 题目描述 2 解题思路 也很简单,从头到尾遍历一遍即可,先建立一个表示出现次数的字符串tmp,然后返回tmp和S中短的那个 时间复杂度 O(n),空间复杂度O(n) class Solution: ...

  7. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  8. 面试题 01.09. 字符串轮转

    面试题 01.09. 字符串轮转 字符串轮转.给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串). 示例1: 输入:s ...

  9. LeetCode 面试题 03.06. 动物收容所

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 1)队列的增删改查 2)源码 三.本题小知识 四.加群须知 一.题目 1.题目描 ...

最新文章

  1. Java基础学习总结(15)——java读取properties文件总结
  2. 基于SQL on Hadoop的数据仓库技术
  3. java数组写入excel_求将java中数组内容逐条加进excel中的代码
  4. Database 2 Day DBA guide_Chapter3
  5. poll和死锁_计算机基础知识
  6. 数据库系统原理(第一章概述)
  7. Avalonia跨平台入门第五篇之ListBox多选
  8. 120. Triangle
  9. vue 单独页面定时器 离开页面销毁定时器
  10. [zz] 使用ssh公钥密钥自动登陆linux服务器
  11. yolo3做行人检测+deep-sort做匹配,端对端做多目标跟踪
  12. java调用WebService接口工具
  13. PhotoShop简单案例(3)——利用ps实现多图合成(多张小图片拼成一张大图片)
  14. Ipone桌面计算机没了,苹果笔记本桌面图标不见了怎么办
  15. |9 其他(linux特定的), 用来存放内核例行程序的文档.,Linux常用操作指令
  16. 《Python数据分析与挖掘实战》第8章——中医证型关联规则挖掘(Apriori关联)
  17. Vue技术栈(全家桶)
  18. CF1452 D. Radio Towers(斐波那契数列+概率)
  19. python所有单词和语法_单词积累:常见,阅读单词和语法重点(全部都要)
  20. OC语言基础 - 01

热门文章

  1. Hadoop核心介绍课程笔记
  2. Typora如何恢复未保存文件
  3. 电信运营商网络运维方案
  4. 指数历年各月涨幅分析-验证五穷六绝七翻身是否可信
  5. 四川星利恒电商:拼多多保证金如何退
  6. C语言 htons函数
  7. 【LeetCode】No.5. Longest Palindromic Substring -- Java Version
  8. 微信第三方登录 不能登录问题
  9. 安全、环保的随身“数据库”——体验希捷锦系列移动硬盘
  10. 元件及其规格书的查找与理解