字符串子串操作

博客探讨了如何找出字符串中的重叠子串,计算各字母的重叠子串长度之和,并按出现次数降序输出。还讨论了Map按照value排序以及TreeSet的descendingSet()函数的应用,同时提到了数组索引操作的差异。
摘要由CSDN通过智能技术生成

目录

题目描述:

例子:

输入描述:

输出描述:

我自己的代码

从中得到的收获

1.Map如何按照value进行排序

思路:

2.TreeSet有个函数descendingSet(),可以实现TreeSet中元素降序存放

3. 数组arr[i++]、arr[++i]的区别


题目描述:

找出字符串(全部都是小写的英文字母)中的重叠子串,计算各个字母对应的重叠子串的长度之和,并按照出现次数从大到小进行输出:

例子:

字符串:

aaabcccaddfffaa

其中,字符a的重叠子串包含 aaa aa

其中,字符c的重叠子串包括 ccc

其中,字符d的重叠子串包括 dd

其中,字符f的重叠子串包括 fff

那么,最终的输出结果就是:

a:5
c:3
f:3
d:2

输入描述:

一行字符串,其中可能包括若干个重叠子串,如:

aaabcccaddfffaa

输出描述:

重叠的字母为key,字母个数为value,中间用冒号连接,并按照长度之和从大到小输出,样例如下:

a:5
c:3
f:3
d:2

我自己的代码

import java.util.*;
import java.io.*;

public class One {
	public static void main(String[] args) throws Exception {
		BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
		String[] readStr = bfr.readLine().split("");
		int readStrLen = readStr.length;

		HashM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值