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

这是qklbishe.com第14789 篇笔试面试资料
提供答案分析,通过本文《字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

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

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 鞘伏
import java.util.*;   public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param str string字符串       * @return string字符串      */     public String compressString (String str) {         // write code here         StringBuilder strBuilder=new StringBuilder();         char ch=str.charAt(0);//慢指针         int sum=1;         for(int i=1;i<str.length();i++){             char ch2=str.charAt(i);//快指针             if(ch==ch2){//匹配成功后sum++,然后用continue跳出去,继续执行下面,这样ch就不变,ch2往后加一位,就是个快指针                 sum++;                 continue;             }             strBuilder.append(ch).append(sum);             ch=ch2;             sum=1;         }         strBuilder.append(ch).append(sum);//执行完循环后会剩最后一个字符拼不进去,所有要再手动加一次         if(strBuilder.length()>=str.length()){//判断长度             return str;         }else{             return strBuilder.toString();         }     } }

我对算法的名称可能不是很了解,我的想法是先做出一个strbuilder构造器,然后做出两个指针,一个慢指针一个快指针,然后看看框了多少个字符,统计下来后拼接到strbuilder里。最后比较的时候看看字符串长短

今天 09:32:25 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情