时间:2014年4月11日18:46:07 完善用户注册
2014-04-11 22:59
211 查看
import java.util.*;
/* * 题目:求出现次数最多,且值最大的数字 * 思路:首先统计每个字符及其出现的次数,用到了hashMap * 其次,用hashSet统计不同的数字,并将统计的字符存到char数组中,以便判断 * 最后,用hashMap中的 get(key)方法 去寻找每个字符所对应的次数,输出次数最多,且值最大的字符 */public class FindString{ public static void main(String args[]){ String str="222aaaaassssstttt111"; //随便一个字符串 HashMap<Character,Integer> map=new HashMap<Character,Integer>(); int max; //最多次数 char[] ch=str.toCharArray(); //将字符串转换为字符数组 HashSet<Character> set=new HashSet<Character>(); for(int i=0;i<ch.length;i++){ Integer num=(Integer)map.get(ch[i]); // 找字符所对对应的次数 if(num==null){ num=0; } set.add(ch[i]); //将字符增加到set集合中 map.put(ch[i],num+1); //统计字符的次数,如果字符相同,num加1 } char[]c=new char[set.size()]; int i=0; Iterator<Character> it =set.iterator(); // set集合的迭代器 while(it.hasNext()){ c[i]=(Character)it.next(); //将不重复的字符增加到字符数组中 i++; } char m=c[0]; //假设第一个字符就是想要的 max=map.get(c[0]); //假设第一个字符对应的次数就是最大的 for(int j=1;j<c.length;j++){ if(max<=map.get(c[j]) & m<c[j]){ //max如果不是最大的 ,并且m对应的字符本身就小于后面的 max=map.get(c[j]); //将max换成较大的 m=c[j]; //并将所对应的字符max所对应的字符 }else if(m>c[j]){ //max对应的字符大于后面的 if(map.get(m)<map.get(c[j])){ //虽然m大于后面的,但是出现次数小于后面的,所以还得换 max=map.get(c[j]); m=c[j]; }else{ //其他的情况就不用换了 } } } System.out.println("出现次数最多,且值最大的是:"+m+",出现次数为:"+max); //输出字符 } }本文出自 “字符串、Map” 博客,请务必保留此出处http://dongxiao111.blog.51cto.com/2316565/532055
/* * 题目:求出现次数最多,且值最大的数字 * 思路:首先统计每个字符及其出现的次数,用到了hashMap * 其次,用hashSet统计不同的数字,并将统计的字符存到char数组中,以便判断 * 最后,用hashMap中的 get(key)方法 去寻找每个字符所对应的次数,输出次数最多,且值最大的字符 */public class FindString{ public static void main(String args[]){ String str="222aaaaassssstttt111"; //随便一个字符串 HashMap<Character,Integer> map=new HashMap<Character,Integer>(); int max; //最多次数 char[] ch=str.toCharArray(); //将字符串转换为字符数组 HashSet<Character> set=new HashSet<Character>(); for(int i=0;i<ch.length;i++){ Integer num=(Integer)map.get(ch[i]); // 找字符所对对应的次数 if(num==null){ num=0; } set.add(ch[i]); //将字符增加到set集合中 map.put(ch[i],num+1); //统计字符的次数,如果字符相同,num加1 } char[]c=new char[set.size()]; int i=0; Iterator<Character> it =set.iterator(); // set集合的迭代器 while(it.hasNext()){ c[i]=(Character)it.next(); //将不重复的字符增加到字符数组中 i++; } char m=c[0]; //假设第一个字符就是想要的 max=map.get(c[0]); //假设第一个字符对应的次数就是最大的 for(int j=1;j<c.length;j++){ if(max<=map.get(c[j]) & m<c[j]){ //max如果不是最大的 ,并且m对应的字符本身就小于后面的 max=map.get(c[j]); //将max换成较大的 m=c[j]; //并将所对应的字符max所对应的字符 }else if(m>c[j]){ //max对应的字符大于后面的 if(map.get(m)<map.get(c[j])){ //虽然m大于后面的,但是出现次数小于后面的,所以还得换 max=map.get(c[j]); m=c[j]; }else{ //其他的情况就不用换了 } } } System.out.println("出现次数最多,且值最大的是:"+m+",出现次数为:"+max); //输出字符 } }本文出自 “字符串、Map” 博客,请务必保留此出处http://dongxiao111.blog.51cto.com/2316565/532055
相关文章推荐
- PW实现对注册用户发帖时间分钟级设置
- (十)用户管理模块(登录,注册,修改,重置密码MD5加密,时间戳+sql server 2014)
- node.js用户注册功能的完善
- 牛腩购物11:完善用户注册 onblur 失去焦点 jquery ajax post方式使用 一般处理程序 判断用户是否存在 前台js的应用
- 截至 2005年1月11日,CSDN社区五星用户名单,以注册时间排列[修正版]
- 截至 2005年1月11日,CSDN社区四星用户名单 ,以注册时间排列[修正版]
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 截至 2005年1月11日,CSDN社区三星用户名单 ,以注册时间排列[修正版]
- 截至 2005年1月11日,CSDN社区五星用户名单,以注册时间排列[修正版]
- 注册用户试用时间的修改
- 截至 2005年1月11日,CSDN社区四星用户名单 ,以注册时间排列[修正版]
- 坚果云的成长烦恼:互联网巨头乌云笼罩(1年多时间, 坚果云已经拥有接近百万注册用户)
- 截至 2005年1月11日,CSDN社区三星用户名单 ,以注册时间排列[修正版]
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 完善注册新用户功能
- 按照时间注册用户进行分组查询
- 时间分隔多用户同时注册的方法
- 求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
- 功能完善的 jquery validator 完成用户注册的验证
- WordPress: 后台添加 用户注册时间 和登录IP 显示