小程序标题:统计单词数
小程序题目:给定若干行字符单词,每行有若干个单词,要求统计每行有多少个不同的单词。第一行为用例的个数n,接下来的n行,每行开头为一个整数k,表示该行单词个数,接下来为k个单词,单词之间用一个空格隔开,可以假定不包含标点及非字符情况,大小写可忽略,如“I”和“i”可以认为是同一个单词,同时每行单词个数不超过80个,每个单词长度不超过20。
小程序答案:
思路用hashMap存储单词,因为不需要统计每个单词出现的次数,每个单词只要put();就行了- import java.util.*;
- class Main
- {
- public static void main(String[] args)
- {
- Scanner cin = new Scanner(System.in);
- int t = cin.nextInt();
- HashMap<String,Integer> HM = new HashMap<String,Integer>();
- while(t>0)
- {
- HM.clear();
- int n = cin.nextInt();
- for(int i=0;i<n;i++)
- {
- String str = cin.next();
- str = str.toUpperCase();
- HM.put(str, 1);
- }
- System.out.println(HM.size());
-
- t--;
- }
- }
- }
复制代码 部分测试数据:
样例输入
2
10 I am teacher you are teacher i am not student
7 You you my My old YOU Your
样例输出
7
4 |