zoukankan      html  css  js  c++  java
  • 用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"));
        }
    }

  • 相关阅读:
    poj 1222 EXTENDED LIGHTS OUT (高斯消元 )
    poj 2187 Beauty Contest (凸包: 最远点对,最长直径 , 旋转卡壳法)
    poj 1408 Fishnet (几何:线段相交 + 叉积 求面积 )
    poj 1228 Grandpa's Estate ( 凸包 )
    高斯消元 模版
    poj 1830 开关问题 (高斯消元 )
    poj 1113 Wall (凸包:周长)
    旋转卡壳算法
    poj 1681 Painter's Problem (高斯消元 )
    字符串相关处理
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480442.html
Copyright © 2011-2022 走看看