Leetcode--字符串压缩

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

示例1:

 输入:"aabcccccaaa"
 输出:"a2b1c5a3"
示例2:

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

思路:

有一个小坑,数量超过10的x与S比较的位置可能得多移动几位
提示:

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

代码:

class Solution {

    public String compressString(String S) {

       if(S.length()==0){

                return S;

            }

            StringBuilder x = new StringBuilder();

            x.append(S.charAt(0));

            int i=1,j=0,count=1;

            while(i<S.length())

            {

                if(x.charAt(j)!=S.charAt(i)){

                    x.append(count);

                    while(count!=0)//需要注意,不是每次添加数字都是j++,有的数量超过10,j就不止移动一位,可能好几位

                    {

                        count/=10;

                        j++;

                    }

                    count=1;

                    x.append(S.charAt(i));

                    j++;

                }else{

                    count++;

                }

                i++;

            }

            x.append(count);

           if(x.length()>=S.length())

            {

                return S;

            }

            return x.toString();

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-3和AlphaFold 2震撼2020,2021年AI最大看点在哪儿?

来源&#xff1a;机器学习研究组订阅2020年并不缺重磅新闻&#xff0c;但人工智能依然够杀出重围&#xff0c;走进主流视野。尤其是GPT-3&#xff0c;它展示了人工智能即将以全新的方式深入我们的日常生活。这些进步赋予了未来很多可能&#xff0c;预测未来变得并不容易&#x…

SpringBoot RequestBody ajax提交对象

前端实现&#xff1a; var student {"name":1,"age":2,"score":3 }; $.ajax({ url:"student/test/delStudentByPrimaryKey.action",contentType:"application/json;charsetUTF-8",type:POS…

Leetcode--1160.拼写单词(Java)

给你一份『词汇表』&#xff08;字符串数组&#xff09; words 和一张『字母表』&#xff08;字符串&#xff09; chars。 假如你可以用 chars 中的『字母』&#xff08;字符&#xff09;拼写出 words 中的某个『单词』&#xff08;字符串&#xff09;&#xff0c;那么我们就认…

宇宙与无限之谜

文&#xff1a;Alan Lightman译&#xff1a;Sue校对&#xff1a;Rachel在博尔赫斯&#xff08;Jorge Luis Borges&#xff09;的《沙之书》&#xff08;The Book of Sand&#xff09;中&#xff0c;一个神秘的传教者敲开了故事主人公的门&#xff0c;想要卖给他一本圣书。这本书…

BZOJ 2124 等差子序列 线段树维护哈希

$ \Rightarrow $ 戳我进BZOJ原题 等差子序列Time Limit: 3 Sec $ \quad $ Memory Limit: 259 MBDescription 给一个 $ 1 $ 到 $ N $ 的排列 $ (A_i) $ &#xff0c;询问是否存在 $ 1 \le p_1<p_2<p_3<p_4<p_5<…<p_ \le N (Len \ge 3) $ &#xff0c; 使得 $…

Leetcode:892. 三维形体的表面积(Java)

在 N * N 的网格上&#xff0c;我们放置一些 1 * 1 * 1 的立方体。 每个值 v grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1&#xff1a; 输入&#xff1a;[[2]] 输出&#xff1a;10 示例 2&#xff1a; 输入&#xff1a;[…

微软、IBM们的中国研究院是怎样一步步“躺平”的?

来源&#xff1a; 脑极体IBM中国研究院关闭的消息&#xff0c;又让大家想起了曾经甲骨文、微软、Adobe等外企研究机构离华的新闻。从上世纪末本世纪初来华&#xff0c;十多年情缘突然宣告分手&#xff0c;固然是遗憾的&#xff0c;也更令人好奇背后的原因。公司业绩表现不佳、研…

P1110 [ZJOI2007]报表统计

题目描述 Q的妈妈是一个出纳&#xff0c;经常需要做一些统计报表的工作。今天是妈妈的生日&#xff0c;小Q希望可以帮妈妈分担一些工作&#xff0c;作为她的生日礼物之一。 经过仔细观察&#xff0c;小Q发现统计一张报表实际上是维护一个非负整数数列&#xff0c;并且进行一些查…

斯坦福 AI 课程 10 年发展史

作者&#xff1a;Rachel Oh 、Peter Maldonado转自&#xff1a;机器之心编辑&#xff1a;杜伟、小舟在人工智能领域&#xff0c;斯坦福大学的很多课程都颇受欢迎&#xff0c;如 CS 224N 深度学习自然语言处理和 CS 229 机器学习。这些课程如何一步步发展成为今天的热门课程&…

Leetcode--820:单词的压缩编码(java)

给定一个单词列表&#xff0c;我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如&#xff0c;如果这个列表是 ["time", "me", "bell"]&#xff0c;我们就可以将其表示为 S "time#bell#" 和 indexes [0, 2, 5]。 对于…

Leetcode--130. 被围绕的区域(java)

给定一个二维的矩阵&#xff0c;包含 X 和 O&#xff08;字母 O&#xff09;。 找到所有被 X 围绕的区域&#xff0c;并将这些区域里所有的 O 用 X 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后&#xff0c;矩阵变为&#xff1a; X X X X X X X X X X X X…

6G技术长啥样?5大趋势,13个核心技术2030年落地

来源&#xff1a;智东西5G已经展开了全面商用&#xff0c;随着5G在垂直行业的不断渗透&#xff0c;人们对于6G的设想也逐步提上日程。面向2030, 6G将在5G基础上全面支持整个世界的数字化&#xff0c;并结合人工智能等技术的发展&#xff0c;实现智慧的泛在可取、全面赋能万事万…

微积分的未来:DNA、非线性、混沌、复杂系统与人工智能

导语微积分是人类历史上的伟大思想成就之一&#xff0c;也是数学领域不可或缺的一个重要分支。如果没有微积分&#xff0c;人类就不可能发明电视、微波炉、移动电话、GPS、激光视力矫正手术、孕妇超声检查&#xff0c;也不可能发现冥王星、破解人类基因组、治疗艾滋病&#xff…

Leetcode--1111. 有效括号的嵌套深度(Java)

有效括号字符串 仅由 "(" 和 ")" 构成&#xff0c;并符合下述几个条件之一&#xff1a; 空字符串 连接&#xff0c;可以记作 AB&#xff08;A 与 B 连接&#xff09;&#xff0c;其中 A 和 B 都是有效括号字符串 嵌套&#xff0c;可以记作 (A)&#xff0c…

计蒜客第三场

1、有序数组查找 假设一个数组&#xff0c;事先在你未知的情况下&#xff0c;以某一点分段有序排列。比如&#xff1a;&#xff08;0,0,0,1,2,2,3 变成 0,0,1,2,2,3,0&#xff0c;定需要查找的数&#xff0c;在当前数组中查找&#xff0c;存在&#xff0c;返回ture&#xff0c;…

美国防部官员讨论量子科学、5G和定向能的发展

来源&#xff1a;国防科技要闻3月8日&#xff0c;美国防部国防研究与工程办公室负责现代化建设的三名官员在国防工业协会太平洋作战科技虚拟会议上讨论了量子科学、5G和定向能的发展。量子科学量子科学主要负责人保罗洛帕塔表示&#xff0c;国防部在过去的二三十年里一直在进行…

牛客网--密码验证合格程序(Java)

题目描述 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串。每组占一行 输出描述: 如果符合要求输出&#xff1a;OK&#xff0c;否则输出NG 示例1 输…

9-18 学习如何使用Python包的管理

前提是安装好Anaconda 1.如何安装一个包 这里的语句 package_name为包的名字 例如 你可以在cmd窗口下输入 按下回车后 系统将会进行安装numpy包。 你也可以同时安装多个包&#xff0c;比如同时安装numpy、scipy、pandas包。 命令如下 注&#xff1a;numpy&#xff1a;是Python的…

牛客--合唱队

题目描述 计算最少出列多少位同学&#xff0c;使得剩下的同学排成合唱队形 说明&#xff1a; N位同学站成一排&#xff0c;音乐老师要请其中的(N-K)位同学出列&#xff0c;使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形&#xff1a;设K位同学从左到右依次编号…

java连接hbase时出现....is accessible from more than one module:

今天在用java程序连接hbase时&#xff0c;出现错误&#xff0c;The package org.apache.hadoop.hbase is accessible from more than one module: &#xff0c;在网上百度也没能找出答案&#xff0c;但是经过很长时间的查找之后中遇找到了原因&#xff0c;那就是我自导入jar包时…