博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题--在一个字符串中查找重复次数最多的字符(转)
阅读量:5893 次
发布时间:2019-06-19

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

在一个字符串中可能包含a-z中的多个字符,如有重复,如String data = "shfksjgljsfsfs",求出现次数最多的那个字母及次数,如有多个重复的则求出。

思路:
1.引入TreeSet,通过集合快速找到所有出现的字符。
2.引入ArrayList,为了快速排序,再通过StringBuffer生成排序后的字符串。
3.通过String Api中基本方法, indexOf lastIndexOf来计算TreeSet中每个字符串出现的最大值。
4.如果出现相同的则把相同的都记录在一个列表中。
5.记录第一个出现次数最多的字符(为了计算多个字符串相同的情况)。
6.计算最大字符串列表中哪些才是真正出现次数最多的。

import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.TreeSet;public class Test2 {    public static void main(String args[]){        String input = "adsfsafasdfjlfdjgkdf";        new Test2().doString(input);    }    public void doString(String input){        char[] chars = input.toCharArray();        ArrayList lists = new ArrayList();        TreeSet set = new TreeSet();        for(int i=0;i
max){ max = value; maxString = os; maxlist.add(os); } else if(value == max){ maxlist.add(os); } } int index = 0; for(int i=0;i

转载于:https://www.cnblogs.com/alterhu/archive/2012/03/07/2384339.html

你可能感兴趣的文章
SILK 的 Tilt的意思
查看>>
Html学习笔记3
查看>>
批处理学习笔记8 - 深入学习For命令1
查看>>
微信支付开发(11) Native支付
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
关于多线程的那些事
查看>>
JavaScript获取DOM元素位置和尺寸大小
查看>>
EL 表达式小结
查看>>
内部排序
查看>>
jQuery EasyUI API 中文文档 - 组合(Combo)
查看>>
10个关于 Dropbox 的另类功用(知乎问答精编)[还是转来了]
查看>>
Oracle体系结构
查看>>
用Modelsim仿真QII FFT IP核的时候出现的Error: Illegal target for defparam
查看>>
javascript Error对象详解
查看>>
nc 局域网聊天+文件传输(netcat)
查看>>
每天一个linux命令(25):linux文件属性详解
查看>>
go微服务框架go-micro深度学习(三) Registry服务的注册和发现
查看>>
python 重载方法有哪些特点 - 老王python - 博客园
查看>>
在Fedora8上安装MySQL5.0.45的过程
查看>>
设计模式之命令模式
查看>>