import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import java.util.StringTokenizer;

import javax.print.attribute.SetOfIntegerSyntax;

public class Main
{

	public static void main(String[] args)
	{
		Scanner input = new Scanner (System.in);
		String str = input.nextLine();
		if (!str.contains(" ")) // 特殊情况, 不考虑答案错误;
		{
			System.out.println("1");
			return;    // 要写 return 结束语句的运行, 不然答案错误;
		}
		StringTokenizer st = new StringTokenizer(str, " ", true); // 字符分词器, 可以百度一下用法; 
		Set<String> set = new HashSet<String>(); //泛型, HasSet 中不能有重复的元素, 利用这一性质可以计算不同字符的个数 
		// 方法可以选, 易懂就行
		while (st.hasMoreElements())
		{
			set.add(st.nextToken());// 判断
			
		}
		System.out.println(set.size()-1); // 数组大小 --1;
		
	}

}

解题思路: 点个赞呗;





注意事项:





参考代码:

点赞(4)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

15+曲文辉 6年前 回复TA
@Faith 查下api文档,  HasSet 中不能有重复的元素, 利用这一性质可以计算不同字符的个数  -1 是 减去的空格数
Faith 6年前 回复TA
就是不不知道为什么StringTokenizer st = new StringTokenizer(str, " ", true);第三个参数为什么是true,这样把分隔符带进去了,只有最后一个数没有空格,判断是不是有点问题,然后最后数组大小减一,大概是弥补这个漏洞?