《牛客刷题计划》旧键盘(Java数据结构Set和Map的使用)

简介: 《牛客刷题计划》旧键盘(Java数据结构Set和Map的使用)

c7453e8a8b234aeb8d3167bf90c60bf0.png题目链接: 旧键盘(牛客)

🍑思路

我们用Set把实际在键盘上输入的储存起来,然后遍历在键盘上应该输入的的字符串,如果在该字符串中某个字符在Set中没有找到,说明该字符所对应的键盘是坏掉的。


🔔注意:

我们输入的都是小写,但题目要求的输出是大写,注意大小写的转换

题目要求的输出是没有重复的,即每个坏掉的那个键只用输出一次就好


代码:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Set<Character> set = new TreeSet<>();
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            String str = sc.nextLine(); // 应该输入的文字
            str = str.toUpperCase(); // 转换为大写
            String tmp = sc.nextLine(); // 实际输入的文字
            tmp = tmp.toUpperCase();
            for (int i = 0; i < tmp.length(); ++i) {
               set.add(tmp.charAt(i)); // 把实际输入的文字放到set储存下来
            }
            Set<Character> setBroken = new TreeSet<>(); 
            for (int i = 0; i < str.length(); ++i) {
                // 当键盘是坏掉的 && 该这个坏掉的键盘还是第一次出现时
                if (!set.contains(str.charAt(i)) && !setBroken.contains(str.charAt(i))){
                    // 把坏掉的键盘储存起来
                    setBroken.add(str.charAt(i));
                    System.out.print(str.charAt(i));
                }
            }
        }
    }
}


相关文章
|
17天前
|
Java
java_键盘录入、随机数
本文介绍了Java中键盘录入和Random类的使用。键盘录入用于从用户那里获取数据,通过导入`java.util.Scanner`,创建`Scanner`对象,调用`nextInt()`或`nextDouble()`读取整数和小数,`next()`读取字符串。Random类用于生成随机整数,导入该类后创建对象,调用`nextInt(int bound)`生成[0, bound-1]范围内的随机数。在JDK17及以上版本,可以使用`nextInt(int start, int end)`生成[start, end)范围的随机数。常见应用包括猜数字游戏和随机点名。
13 0
|
29天前
|
存储 算法 Java
Java数据结构与算法-java数据结构与算法(二)
Java数据结构与算法-java数据结构与算法
82 1
|
1天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
1天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
11 3
|
2天前
|
存储 搜索推荐 C++
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
【C++高阶(二)】熟悉STL中的map和set --了解KV模型和pair结构
|
6天前
|
存储 供应链 Java
《Java 简易速速上手小册》第3章:Java 数据结构(2024 最新版)
《Java 简易速速上手小册》第3章:Java 数据结构(2024 最新版)
6 1
|
13天前
|
Java API
编码的奇迹:Java 21引入有序集合,数据结构再进化
编码的奇迹:Java 21引入有序集合,数据结构再进化
16 0
|
13天前
|
存储 算法 安全
Java Map:键值对的奇妙之旅
Java Map:键值对的奇妙之旅
41 0
Java Map:键值对的奇妙之旅
|
18天前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
20 2
|
22天前
|
存储 JavaScript 前端开发
set和map的区别
set和map的区别
28 4