• 用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"));
        }
    }

  • 相关阅读:
    HDU 5875 Function 2016 ACM/ICPC Asia Regional Dalian Online
    LCA-tarjan understand 2
    LCA-tarjan understand
    MST-prim ElogV
    MST-kruskal ElogE+V
    transformjs 污染了 DOM?是你不了解它的强大
    检查浏览器支持Webp
    canvas实现平铺水印
    2016年总结--成长
    微信小程序体验(1):携程酒店机票火车票
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480443.html
Copyright © 2020-2023  润新知