老卫带你学---程序员面试金典系列(5.基本字符串压缩)_老卫带你学的博客-程序员秘密

技术标签: 程序员面试金典  

5.基本字符串压缩

问题:

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。

给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。

测试样例

"aabcccccaaa"
返回:"a2b1c5a3"
"welcometonowcoderrrrr"
返回:"welcometonowcoderrrrr"

解决:

只需要从头开始进行遍历,并且统计次数;最后进行长度的判断即可

思想:

python代码:

class Zipper:
    def zipString(self, iniString):
        # write code here
        
        init_len=len(iniString)
        ordered=[]
        end_string=""
        flag=iniString[0]
        count=0
        for i in iniString:
            if(i==flag):
                count+=1
            else:
                end_string+=str(flag)
                end_string+=str(count)
                flag=i
                count=1
        end_string+=str(flag)
        end_string+=str(count)
        if(len(end_string)>=init_len):
            return iniString
        else:
            return end_string
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yixieling4397/article/details/107608320

智能推荐

ARM 芯片的应用和选型的绝技_丰满的博客-程序员秘密

<br />目前机自己对ARM市场的了解,谈谈自己对arm的了解,同时也希望能够对使用arm开发的朋友们又说帮助哦!<br />ARM公司自1990年正式成立以来,在32位RISC(Reduced Instruction Set Computer)CPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,直以IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得

2021沧州市二中高考成绩查询,沧州2021多少分可以上高中 分数线预测_weixin_39610085的博客-程序员秘密

沧州2021多少分可以上高中 分数线预测2021-05-20 11:04:12文/勾子木2021年沧州中考多少分可以上高中?想必大家都很想了解,下面将为您详细介绍,仅供参考。沧州2021年分数线预测一、省级示范性高中(一)沧州市一中1、沧州市一中北大班558分2、沧州市一中圆梦班549分3、主城区公助生基准线497分(二)沧州市二中1、沧州市二中新高考实验班528分2、主城区公助生基准线485分(...

C语言基础_hafy-25的博客-程序员秘密

一、C语言中判断数据类型或者表达式长度符;不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来。 char str[ ]="abcd";sizeof(str)=5strlen(str)=4char str[20]="0123456789";int a=strlen(str); //a=10; >>>> strlen 计算字符串的长度,

Mysql innoDb参数配置优化大全_innodb_purge_batch_size_泠泠泠的博客-程序员秘密

Innodb中大量使用了AIO Async IO来处理写IO请求,这样可以极大提高数据库的性能。而IO Thread的工作主要是负责这些IO请求的回调callback。本文梳理了大部分相关的配置参数,以期在调整的过程中提高性能。innodb_read_io_threads设置read thread(读线程个数,默认是4个)innodb_write_io_threads设置write thread(写线程个数,默认是4个)事务被提交后,其所使用的undolog撤销日志可能不再需要,因此需要Pu

Android实战—Broadcast音乐盒(三)_收到广播 startactivaty_lonely喆的博客-程序员秘密

文章目录一、项目地址二、项目效果三、Broadcast实现模式1. 广播流程图2. 为什么要使用广播实现?四、主要代码1. activity_main.xml2. MainActivaty.java3. MusicService.java4. AndroidManifest.xml五、注意1. assets和raw的区别一、项目地址  https://gitee.com/lonelyZhe/A...

Android App中监听系统截屏(截屏监听功能)_安卓统计截屏记录_lplj717的博客-程序员秘密

功能需求:App内截屏监控功能,当发现用户在我们的app内进行了截屏操作时,进行对图片的二次操作,例如添加二维码,公司logo等一系列操作。首先来app界面图及截屏监听图添加效果图主要是利用内容观察者(ContentObserver)监听媒体数据库的变化,当数据库有变化时,获取最后插入的一条图片数据,如果该图片符合特定的规则,则认为被截屏了,下面看看截屏管理类ScreenShotListenManager.javapackage com.test.base;import andro

随便推点

oracle+ora+32416,Index Full Scan vs Index Fast Full Scan_考研兔萌酱的博客-程序员秘密

index full scan和index fast full scan是指同样的东西吗?答案是no。两者虽然从字面上看起来差不多,但是实现的机制完全不同。我们一起来看看两者的区别在哪里?首先来看一下IFS,FFS能用在哪里:在一句sql中,如果我们想搜索的列都包含在索引里面的话,那么index full scan 和 index fast full scan 都可以被采用代替full table...

如何把mo3格式的文件转换成mp3格式_mo3文件转mp3_gxinqing的博客-程序员秘密

玩游戏“毛毛球”时里面有个很好听的音乐,但是mo3格式,我的PC上能播发它的只有快播(快播的播放功能还是很强大的啊),想把它转换成mp3等一般的音频格式,找了半天终于找到实现方式,方法源自http://www.un4seen.com/ 论坛。首先说明mo3是什么格式:(来自百度百科)MO3是一种由un4seen开发的"MOD"音乐格式(像IT, XM, S3M, MTM, MOD等),但是

【Linux】Linux下如何从普通用户切换到root用户_liuyuani的博客-程序员秘密

第一种方法: 第二种方法:(注意第二种方法的 su moodisk 这里的moodisk 是自己的普通用户名,而并非固定输入moodisk)(再补充)

[Python开始入门]使用inno setup将exe程序封装成向导安装程序_我辈李想的博客-程序员秘密

使用Inno Setup打包出来的安装包很多时候都需要有管理员权限,比如写系统位置的注册表、拷贝文件到系统目录之类的都需要有管理员权限,可以通过修改Inno Setup的配置现实1.首先下载ResourceHacker,下载地址https://resource-hacker.en.softonic.com/2.在Inno Setup的安装目录下找到SetupLdr.e32文件,使用ResourceHacker打开(SetupLdr.e32源文件最好备份一个,以免后面操作不当导致文件有问题)3.选。

MySQL存储引擎详解(一)-InnoDB架构_innodb存储引擎结构_fanstuck的博客-程序员秘密

目前MySQL8.x版本数据库已经支持了很多存储引擎了,但是一般我们常用的就几种,容易形成思维固化不会轻易采取其他存储引擎,从而错失很多优化存储的功能。因此对现支持的九种数据库存储引擎的功能有个清楚的理解是个值得学习的事情。本篇文章将这八种数据库存储引擎的功能和作用以及使用场景都讲清楚。此系列文章将被纳入我的专栏一文速学SQL各类数据库操作,基本覆盖到使用SQL处理日常业务以及常规的查询建库分析以及复杂操作方方面面的问题。

插值方法比较IDW/Kriging/线性回归_克里金插值与idw插值的区别与效果_CHEN_BR的博客-程序员秘密

IDW=一个非常简单的模型。不考虑可能影响GDD值及其“邻居”的所有当地地理/地形变化Kriging=可能有一些违反数据正态分布的情况,但是很好地有错误地图来帮助优化我们的生物燃料模型所建议的位置。线性回归=最平滑的输出。最小预测值远低于其他两种方法。平均值更低,标准差更大(比其他两个)。如果认为这两个自变量(高程、北距值)足够,模型是否过于简单?IDW:反距离权重法依赖于反...

推荐文章

热门文章

相关标签