找出字符串(全部都是小写的英文字母)中的重叠子串,计算各个字母对应的重叠子串的长度之和,并按照出现次数从大到小进行输出(注:若次数相同则ASCII值较小的字母先输出)。 例: 字符串 : aaabcccaddfffaa 其中字符a 的重叠子串包括 aaa aa 其中字符c 的重叠子串包括 ccc 其中字符d 的重叠子串包括 dd 其中字符f 的重叠子串包括 fff 那么,最终的输出结果就是: a:5 c:3 f:3 d:2

区块链毕设网qklbishe.com为您提供问题的解答

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

例:
字符串 : aaabcccaddfffaa

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

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

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

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

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

a:5

c:3

f:3

d:2

自定义节点保存各个单词出现的次数,便于后续自定义排序
import java.util.*;

public class Main {
    public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
        String input = scanner.next();
        statisticSubStr(input);
    }

    public static void statisticSubStr(String s){
        char arr[] = s.toCharArray();
        Node res[] = new Node[26];
        for(int i=0;i<26;i++){
            res[i] = new Node(0,(char)(i+’a’));
        }
        int sum = 1;
        boolean flag = false;
        for(int i=0;i<arr.length-1;i++){
            if(arr[i]==arr[i+1]){
                sum++;
                flag = true;
            }else if(flag){
                res[arr[i]-‘a’].val+=sum;
                sum=1;
                flag = false;
            }
        }
        if(sum>1){
            res[arr[arr.length-1]-‘a’].val+=sum;
        }
        Arrays.sort(res,new Comparator<Node>(){
            public int compare(Node n1,Node n2){
                if(n1.val==n2.val){
                    return n1.word-n2.word;
                }
                return n2.val-n1.val;
            }
        });
        for(int i=0;i<26;i++){
            if(res[i].val>0){
                String str = res[i].word + ":" + res[i].val;
                System.out.println(str);
            }
        }

    }

}
class Node{
    int val;
    char word;
    public Node(int val,char word){
        this.val = val;
        this.word = word;
    }
}

24:31

以上就是关于问题找出字符串(全部都是小写的英文字母)中的重叠子串,计算各个字母对应的重叠子串的长度之和,并按照出现次数从大到小进行输出(注:若次数相同则ASCII值较小的字母先输出)。
例:
字符串 : aaabcccaddfffaa 其中字符a 的重叠子串包括 aaa aa 其中字符c 的重叠子串包括 ccc 其中字符d 的重叠子串包括 dd 其中字符f 的重叠子串包括 fff
那么,最终的输出结果就是: a:5 c:3 f:3 d:2的答案

欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 找出字符串(全部都是小写的英文字母)中的重叠子串,计算各个字母对应的重叠子串的长度之和,并按照出现次数从大到小进行输出(注:若次数相同则ASCII值较小的字母先输出)。 例: 字符串 : aaabcccaddfffaa 其中字符a 的重叠子串包括 aaa aa 其中字符c 的重叠子串包括 ccc 其中字符d 的重叠子串包括 dd 其中字符f 的重叠子串包括 fff 那么,最终的输出结果就是: a:5 c:3 f:3 d:2