面试题 01.06 字符串压缩

Leetcode:面试题 01.06. 字符串压缩 题目: 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3" 示例2: 输入:"abbccd" 输出:"abbccd" 解释:"... 阅读详情

简单题,注意边界情况处理即可。

class Solution {
public:
    string compressString(string S) {
        string ans;
        char pre = S[0];
        int cnt = 0;
        for(int i = 0; i < S.size(); ++i)
        {
            if(S[i] == pre) ++cnt;
            if(S[i] != pre) 
            {
                ans.push_back(pre);
                ans += to_string(cnt);
                cnt = 1;
            }
            if(i == S.size() - 1)
            {
                ans.push_back(S[i]);
                ans += to_string(cnt);
            }
            pre = S[i];
        }
        return ans.size() < S.size() ? ans : S;
    }
};

偷懒式写法:

class Solution {
public:
    string compressString(string S) {
        string ans;
        char pre = S[0];
        int cnt = 0;
        S.push_back('#'); // 给原字符串结尾添加一个标记位,这样就不用判断i走到字符串末尾的情况
        for(int i = 0; i < S.size(); ++i)
        {
            if(S[i] == pre) ++cnt;
            else 
            {
                ans.push_back(pre);
                ans += to_string(cnt);
                cnt = 1;
            }
            pre = S[i];
        }
        return ans.size() < S.size() - 1 ? ans : (S.pop_back(), S);
    }
};
leetcode-程序员面试题 01.06. 字符串压缩 leetcode-程序员面试题 01.06. 字符串压缩 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:“aabcccccaaa” 输出:“a2b1c5a3” 示例2: 输入:“abbccd” 输出:“abbccd” 解释:“abbccd"压缩后为"a1b2c2d1”,比原字符串长度更长。 解题思路: 没 阅读详情

相关推荐

字符串“aabcccccaaa”压缩成“a2b1c5a3“还要返回更小的?力扣面试题 01.06. 字符串压缩讲解

题目信息 解题方法 :双指针遍历 创建ch,让它获取S的第一个字符,定义计数器count初始化为1,接下来让ch和S的下一个字符比较,如果他们相等,count+1,不想等的话,创建一个StringBuilder的实例对象ans,让ans使用append方法,拼接当前的ch,再拼接它的count,让把当前的字符赋给ch,计数器归1,继续进行循环。循环结束后把最后的ch和他的count添加到ans里。返回ans和S.length的较小值。 代码实现 class Solution { public

guankunkunwd的博客 1101

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

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

qq_39378221的博客 1376

python【力扣LeetCode算法题库】面试题 01.06-字符串压缩

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

NJU phd 在读。 1168

leetcode面试题:字符串压缩

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 划重点: 1.重复字符串提取个数 2.最后返回的字符串是 字符+字符出现个数 3.如果压缩完字符串size大于等于原字符串size,则返回原先字符串。 比较要注意的...

追 483

ECU-TEST 快速入门

ECU-TEST 是由位于德国德累斯顿的TraceTronic公司开发的一款用于嵌入式系统测试验证软件工具。自从2003年首次发布ECU-TEST ,该软件成为了汽车ECU开发的标准工具 ,同时也逐步成为了重型机械和工业自动化开发的标准工具 。该软件是起源自于一个控制单元的系统化测试的项目研究,从而为从德累斯顿工业大学脱离出来的TraceTronic公司奠定了基础。ECU-TEST旨在完成测试案例的规范化、评估、求解和归档。得益于该软件包含大量的自动化测试方法使得测试案例的所有必要功能如创建、求解和评估

wangying202的博客 1万+

Ansys Lumerical 2023 R1.2新功能实战:薄膜铌酸锂调制器仿真全流程解析

本文详细解析了Ansys Lumerical 2023 R1.2在薄膜铌酸锂电光相位调制器仿真中的最新功能与应用。通过实战演示,展示了从电极配置、电场计算到模式分析的全流程,重点介绍了各向异性介电常数支持和多物理场耦合优化等关键技术,助力开发者高效设计高性能光通信器件。

weixin_28454475的博客 1207

Java面试题(5) 字符串压缩

通过Java实现字符串压缩,如下: qqawwwzz 经过压缩后变成 2q1a3w2z 代码如下: // System.out.print(&quot;请输入一串字符串:&quot;); // Scanner s = new Scanner(System.in); // String str = s.nextLine(); String str = &quot;...

郑清 1703

避坑指南:Ubuntu 22.04上源码编译Autoware.universe(Humble版)的完整流程与常见错误修复

本文详细介绍了在Ubuntu 22.04上源码编译Autoware.universe(Humble版)的完整流程与常见错误修复方法。从环境准备、依赖安装到编译优化,提供了实用的避坑指南和解决方案,帮助开发者高效完成安装并避免常见问题。特别针对源码安装过程中的疑难杂症给出了具体修复建议。

weixin_33712987的博客 382

一道关于字符串压缩的面试题

题目编写一个算法,实现基本的字符串“压缩”算法,比如对于字符串'abbbbffcccdddcc',经过算法处理之后得到的输出为'a1b4f2c3d3c2',如果处理后的字符串长度不小于原串长度,则返回原串。算法算法一In [38]: def compress(s): ...: ss = [s[0], 1] ...: for c in s[1:]: ...: ...

jaket5219999的博客 685

光谱特征选择之模拟退火算法SA

光谱特征选择之模拟退火算法SA。

weixin_42621095的博客 901

【硬件工程师面经整理18_Smith圆图】

若文中任何内容侵犯了您的合法权益,请相关权益人及时与我联系,我将立即进行核实并采取适当措施,包括但不限于删除相关内容或更新文章以消除影响。**在Smith圆图上,源阻抗表示为圆心,而负载阻抗表示为圆图上的一个点。具体来说,通过将负载阻抗在Smith圆图上移动到特定位置,使其与传输线特性阻抗形成纯电阻或纯电抗的组合,从而实现匹配。例如,反射系数表示为Smith圆图上的一个点,而驻波比则表示为圆图上两个点之间的距离。Smith圆图是用于阻抗匹配和网络分析的工具,它是一种将复阻抗表示为坐标的图形。

LeeYLong的博客 651

Leetcode 面试题 01.06. 字符串压缩 (字符串模拟)

面试题 01.06. 字符串压缩 难度简单8收藏分享切换为英文关注反馈 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3" 示...

菱形继承 402

玩转Docker小游戏项目系列:Docker部署魔塔网页经典小游戏

玩转Docker小游戏项目系列:Docker部署魔塔网页经典小游戏

jks212454的博客 1063

面试题 01.06. 字符串压缩

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

zhf的博客 497

(2-2-2)位置控制算法:常用的位置控制算法(2)

例如下面是一个使用滑模控制算法实现机器人位置控制的例子,在该例子中,假设机器人在一维空间中移动,目标是使机器人的位置迅速、鲁棒地达到设定的目标位置。自适应控制算法通过实时地调整控制器参数,可以适应系统的变化,从而提高系统的鲁棒性和性能。模型预测控制(Model Predictive Control,MPC)是一种先进的控制策略,通常应用于动态系统,以实现对系统状态的优化控制。(6)迭代优化:随着时间推移,MPC迭代执行上述步骤,持续优化控制输入,以适应系统动态和外部扰动,实现对系统状态的稳健控制。

码农三叔 1607

Cesium教程(十七):淹没分析

淹没分析是根据某片区域的地形及洪水流量速度,动态模拟该地形区域水位逐渐上涨的淹没过程。该功能可适用于山区、丘陵等地形起伏较大区域,模拟洪水涨到安全限定高度的淹没过程,为防洪水救灾提供一定的参考。此外,还可以为河谷地带修建水利工程设计与选址提供参考依据。

WwLK123的博客 3008

leetcode 面试题 01.06. 字符串压缩

leetcode 面试题 01.06. 字符串压缩 题目详情 题目链接 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:“aabcccccaaa” 输出:“a2b1c5a3” 示例2: 输入:...

qq_33789406的博客 245

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Leetcode面试题 01.06. 字符串压缩

Leetcode面试题 01.06. 字符串压缩

ProgramNovice的博客 348

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【leetcode】面试题01.06字符串压缩

题目 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 暴力解法 遍历字符串,计数挨在一起的相同字符的个数,加入需要返回的字符串 class Solution(object): def compressString(self, S): """ :type S: str

qq_38290604的博客 463

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LeetCode面试题 01.06 字符串压缩

LeetCode面试题 01.06 字符串压缩

流水账 756

Leetcode每日刷题之面试题01.06字符串压缩(C++)

【代码】Leetcode每日刷题之面试题01.06字符串压缩(C++)

2301_80689220的博客 471

LeetCode 面试题 01.06. 字符串压缩

更多题解尽在每日更新。组队打卡,更多解法等你一起来参与哦!,难度。

m0_64381458的博客 200

【LeetCode】 面试题 01.06. Compress String LCCI 字符串压缩(Easy)(JAVA)

【LeetCode】 面试题 01.06. Compress String LCCI 字符串压缩(Easy)(JAVA) 题目地址: https://leetcode.com/problems/rotate-list/ 题目描述: Implement a method to perform basic string compression using the counts of repeated ...

qq_16927853的博客 181

leetcode面试题01.06.字符串压缩,超出时间限制,样例通过31/32

leetcode面试题01.06.字符串压缩,超出时间限制,样例通过31/32 题目: 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 样例 输入:"aabcccccaaa" 输出:"a2b1c5a3" 语言C++ 方法: 利用双指针来统计相同字符的个数,i指向相同字符第一个不动,j指向i后面一个,若相同则j++,

西瓜的博客 389

Unity3D 每日一题 算法题_29 -- 面试题 01.06. 字符串压缩

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

qingjinjun的博客 269

【面试题 01 06】字符串压缩

题目 题目链接 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3" 示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。 提示: 字符串长度在[0, 50000]范

WormholeStack 701
上一篇: 1029 两地调度
下一篇: 1221 分割平衡字符串
UnendingGlory
博客等级 码龄9年 55粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值