博客
关于我
JAVA 压缩字符串
阅读量:156 次
发布时间:2019-02-27

本文共 782 字,大约阅读时间需要 2 分钟。

要求:给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为 1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。

具体代码如下:

public class Test1_27 {    public static int compress(char[] chars) {        int i = 0, j, num = 0;        while(i < chars.length) {            chars[num] = chars[i];            num++;            j = i + 1;            while(j < chars.length && chars[i] == chars[j])                j++;            if(j - i > 1){                for (char c : String.valueOf(j - i).toCharArray()) {                    chars[num] = c;                    num++;                }            }            i = j;        }        return num;    }    public static void main(String[] args) {        char[] chars = {'a','a','b','b','b','c','c'};        System.out.println(compress(chars));    }}

运行结果示例:

转载地址:http://hqdd.baihongyu.com/

你可能感兴趣的文章
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>