• 用JAVA实现字符串压缩算法


    用JAVA实现字符串压缩算法。将字符串 aaabcdda 编程实现将其转换为 3a1b1c2d1a

    public class Test3
    {
            * 用JAVA实现字符串压缩算法。 将字符串 aaabcdda 编程实现将其转换为 3a1b1c2d1a ;
         *
         * @param str
                   需要转换的字符串
         * @return string
         */
        public static String stringToReduce(final String str)
        {
            //
            StringBuffer result = new StringBuffer();

            // 计算字符串长度
            final int count = str.length();

            // 取第一个字符
            char c1 = str.charAt(0);

            // 连续字符的个数
            int sum = 1;
            for (int i = 1; i < count; i++)
            {
                // 循环取字符
                char c2 = str.charAt(i);

                // 把前一个字符和当前字符比较
                if (c1 == c2)
                {
                    // 相同的只个数加一
                    sum++;
                    continue;
                }

                // 拼接字符
                result.append(sum).append(c1);

                // 当前字符变为前一字符
                c1 = c2;

                // 个数清零
                sum = 1;
            }

            // 加上最后一个字符及个数
            result.append(sum).append(c1);

            return result.toString();
        }

        public static void main(String[] args)
        {
            System.out.println(stringToReduce("aaabcddabddd"));
        }
    }

  • 相关阅读:
    浙大《数据结构》第二章:线性结构
    浙大《数据结构》第一章:基本概念
    《软技能:代码之外的生存指南》读书笔记
    《高质量程序设计指南》读书笔记
    《大话无线通信》读书笔记
    使用Tensorflow训练神经网络模型
    掌握功率谱估计的方法
    网络安全宣传周活动
    ICMP数据包
    DNS数据包
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480442.html
Copyright © 2020-2023  润新知