HDOJ 2072 单词数

简介: HDOJ 2072 单词数

Problem Description

lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。


Input

有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。


Output

每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。


Sample Input

you are my friend

#


Sample Output

4


我的思路是先按照空格来分配单词。

用String数组。

最后来比较有多少个相等的单词。

相等就减一。

我用了一个boolean型的数组来判断当前单词是否已经被比较了。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();
            if(str.charAt(0)=='#'){
                return ;
            }
            String[] strs = new String[str.length()];
            for(int i=0;i<strs.length;i++){
                strs[i] = "";
            }
            int count =0;
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)!=' '){
                    //System.out.println("--- "+str.charAt(i));
                    strs[count]=strs[count]+str.charAt(i);
                }else{
                    count++;
                }
            }
//          for(int i=0;i<count;i++){
//              System.out.println(strs[i]);
//          }
            int number =strs.length-1;
            boolean iscp[] = new boolean[strs.length];
            for(int i=0;i<iscp.length;i++){
                iscp[i]=false;
            }
            for(int i=0;i<strs.length-1;i++){
                for(int j=i+1;j<strs.length;j++){
                    if(strs[i].equals(strs[j])&&!iscp[j]){
                        number--;
                        iscp[j]=true;
                    }
                }
            }
            System.out.println(number);
        }
    }
}
目录
相关文章
|
5月前
leetcode-434:字符串中的单词数
leetcode-434:字符串中的单词数
41 1
|
5月前
leetcode-2047:句子中的有效单词数
leetcode-2047:句子中的有效单词数
34 0
|
机器学习/深度学习
LeetCode contest 190 5416. 检查单词是否为句中其他单词的前缀
LeetCode contest 190 5416. 检查单词是否为句中其他单词的前缀
HDOJ 2027 统计元音
HDOJ 2027 统计元音
103 0
|
测试技术
HDOJ(HDU) 1860 统计字符
HDOJ(HDU) 1860 统计字符
99 0
HDOJ/HDU 2352 Verdis Quo(罗马数字与10进制数的转换)
HDOJ/HDU 2352 Verdis Quo(罗马数字与10进制数的转换)
173 0
HDOJ 2010 水仙花数
HDOJ 2010 水仙花数
115 0
HDOJ 2017 字符串统计
HDOJ 2017 字符串统计
97 0
|
Python
LeetCode 2047. 句子中的有效单词数
LeetCode 2047. 句子中的有效单词数
193 0