字符串压缩

    xiaoxiao2023-10-31  175

    2019年5月25号

    亚信安全笔试题前言没做出的原因思路完整代码值得注意的东西面试题

    亚信安全笔试题

    题目:压缩字符串问题:压缩相邻的相同的字符串 例子: abcabc 压缩后 abc, xxxyyyyz 压缩后 3x4yz

    前言

    记录: (1)去功夫打印店,里面的员工帮我免费打印(还是彩打)两张简历,还是我的老乡,十分感谢!

    没做出的原因

    其实自己一开始的思路是对的,细节方面存在了一些问题 (1)在写嵌套循环的时候,应该采用while不能写两个for循环 (2)他的电脑StringBuffer用不了,不知道为什么用不了,心态炸裂。。。 (3)写程序后,一定要自己跟着逻辑走一遍,当时有个笔就好了。

    思路

    遍历数组。比较数组的元素和它后面的元素是否相等,如果相等count就加1,如果不相等,就把这个元素添加到StringBuffer中。

    完整代码

    public class mianshiti2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); String s=scan.nextLine(); int len=s.length(); String [] str=new String [len]; StringBuffer sb=new StringBuffer(); for(int i=0;i<len;i++) { str[i]=Character.toString(s.charAt(i)); } for(int i=0;i<str.length;) { int count=1; int j=i+1; while(j<str.length) { if(str[i].equals(str[j])) { count++; if(count==str.length) { sb.append(count); sb.append(str[i]); } }else { if(count>1) { sb.append(count); } sb.append(str[i]); i=j; break; } j++; } if(i==str.length-1) { sb.append(str[i]); break; } } System.out.print(sb); } }

    值得注意的东西

    基本类型转String Character.toString(char c);

    面试题

    String的内存问题异常集合数据库增删改查js,cssjsp
    最新回复(0)