思路来源:老师博客
在此向老师学习,自己多努力!
一副扑克牌有54张牌,分别是红桃,黑桃,方片,梅花各13张,以及大小王,现在Alex有一副牌
只剩下53张了,给出这些牌,请问少了哪张牌。
牌的表示方法:
大王: Joker 小王: joker
其余的牌用花色+牌面大小表示,花色表示如下:
红桃: Heart 黑桃: Spade 方片: Diamond 梅花: Club
2~10的牌面直接用2,3,4,5,6,7,8,9,10 表示,其余的:
A: Ace J: Jack Q: Queen K: King
比如方片J用 DiamondJack 表示, 红桃A用 HeartAce表示
输入
一行53个字符串,表示53张牌
输出
一行输出少的那张牌
思路分析:
利用集合set做比较好,老师也是用的set 集合特点无序且元素唯一,容易删除也容易添加,不用考虑元素是否重复的问题, 关于数据结构,建议使用字符串类型表示
我们先将集合中添加所有的元素牌,然后输入53张牌,逐一抹去,剩下的一张牌就是少的那张牌了
代码如下:(Java实现)
package Exercises;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class testBailian4020ThelackOfPocket {
public static void main(