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

  • 相关阅读:
    Ubuntu16.04 + CUDA 8.0 (GTX 1050ti)
    关于MapD的集群建立
    2-7 单位和坐标系
    2-6 光线投射
    2-5 事件系统(Event System)
    2-4 Rect Transform(矩形)组件的属性
    2-3 RectangleTransform矩形组件
    2-2 Graphic Raycasrer组件(光线投射)
    2-1 Ui元素-画布
    1-5 事件方法的执行顺序
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480443.html
Copyright © 2011-2022 走看看