博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《程序员代码面试指南》第五章 字符串问题 字符串的统计字符串
阅读量:5891 次
发布时间:2019-06-19

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

题目

字符串的统计字符串

java代码

package com.lizhouwei.chapter5;/** * @Description: 字符串的统计字符串 * @Author: lizhouwei * @CreateDate: 2018/4/24 20:49 * @Modify by: * @ModifyDate: */public class Chapter5_7 {    public String getCountString(String str) {        if (str == null) {            return null;        }        char[] chars = str.toCharArray();        char cur = chars[0];        StringBuilder res = new StringBuilder(cur + "_");        int num = 1;        for (int i = 1; i < chars.length; i++) {            if (chars[i] == chars[i - 1]) {                num++;            } else {                res.append(num + "_" + chars[i] + "_");                cur = chars[i];                num = 1;            }        }        res.append(num);        return res.toString();    }    public char getCharAt(String str, int k) {        if (str == null) {            return 0;        }        char[] chars = str.toCharArray();        char cur = 0;        int num = 0;        int sum = 0;        boolean posi = true;        for (int i = 0; i < chars.length; i++) {            if (chars[i] == '_') {                posi = !posi;            } else if (posi) {                sum += num;                if (sum > k) {                    return cur;                }                num = 0;                cur = chars[i];            } else {                num = num * 10 + chars[i] - '0';            }        }        return cur;    }    //测试    public static void main(String[] args) {        Chapter5_7 chapter = new Chapter5_7();        String str1 = "aaabbadddffc";        String result = chapter.getCountString(str1);        System.out.println("aaabbadddffc的统计字符串:" + result);        char charAtK = chapter.getCharAt(result, 4);        System.out.println(result + "第4位置的字符为:" + charAtK);    }}

结果

1369004-20180424215830727-1616861637.png

转载于:https://www.cnblogs.com/lizhouwei/p/8934062.html

你可能感兴趣的文章
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
mysql 应用程序是哪个文件夹_Mysql 数据库文件存储在哪个目录?
查看>>
mysql半同步和无损复制_MySQL半同步复制你可能没有注意的点
查看>>
python编译exe用于别的电脑上_Python安装教程(推荐一款不错的Python编辑器)
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
hive中如何把13位转化为时间_sqoop1 导入 hive parquet 表中 时间戳调整为日期
查看>>
mysql书外键_[转] mysql 外键(Foreign Key)的详解和实例
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
mysql5002_mysql新手进阶02
查看>>
python类 del_全面了解Python类的内置方法
查看>>
前后端传图片用base64好吗_前后端分离 前台传base64的图片 tp5.1.1进行处理
查看>>
java对象的排序_Java对象排序两种方法
查看>>
java jni 原理_使用JNI技术实现Java和C++的交互
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
mysql client命令行选项
查看>>
vc遍历网页表单并自动填写提交 .
查看>>