weixin_42502621 2012-12-12 11:54
浏览 244
已采纳

求一个字符串压缩的代码。

例:输入iteye,输出e2i1t1y1
zhongguo --> g2h1n1o2u1z1

  • 写回答

7条回答 默认 最新

  • henghanan 2012-12-12 12:51
    关注

    我有一个高效的
    [code="java"]package com.algorithm.compress;

    import java.util.Scanner;

    public class CountTimeOfChar {

    public static void main(String[] args) {
    
        Scanner sc = new Scanner(System.in);
    
        System.out.println("请输入一串字母:");
    
        String input = sc.next();
    
        int[] count = new int[26];
    
        char[] chars = input.toCharArray();
    
        //(字母 & 31 ) 可以算出他是第几个字母
    
        for(int i = 0, len = chars.length; i < len; count[(chars[i ++] & 31) - 1] ++);      //计算每种字符在输入的字符串中出现的次数
    
        for(int j = 0, len = count.length; j < len; j ++) {
    
            if(count[j] != 0) {
    
                System.out.print((char) ('a' + j));
    
                System.out.print(count[j]);
    
            }
    
        }
    
        System.out.println();
    
    }
    

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调