编程语言
首页 > 编程语言> > 牛客 HJ10 字符个数统计(Java 哈希表)

牛客 HJ10 字符个数统计(Java 哈希表)

作者:互联网

 

 

 

 

 

  思路: 使用哈希表。 获得输入之后,挨个检查字符。只要不是/n换行符,就继续进行: 字符是否是ASCII码范围,0-127包括0,127。若是,则查看哈希表中有无该字符,若有则不做动作,若无则计数+1。 若不是范围,也不做动作。  
 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4 import java.util.*;
 5 
 6 
 7 public class Main {
 8     public static void main(String[] args) throws IOException {
 9         int num = 0;//计数
10         String line = "";//输入行
11         
12         
13         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
14         Map<Character,Integer> ages = new HashMap<Character,Integer>();
15         
16         line = br.readLine();
17         //System.out.println(line);
18         for(int i = 0;i<line.length();i++){
19             Character str = line.charAt(i);//取得单个字符
20             if(Integer.valueOf(str)>=0&&Integer.valueOf(str)<=127){//字符在ASCII范围
21                 //System.out.println(Integer.valueOf(str));
22                 if(!ages.containsKey(str)){//存在不做动作,不存在就计数
23                     //System.out.println(num);
24                     num = num+1;
25                     ages.put(str,i);//将未存在的放入哈希表
26                 }
27             }
28         }
29         System.out.println(num);
30         
31     }
32 }

 

  谷歌: 1.char转ascii码值
Character.valueOf(str);

 

   

标签:HJ10,java,哈希,牛客,Java,io,new,import,line
来源: https://www.cnblogs.com/JolyneSpace/p/16537768.html