旧键盘(简单难度)

简介: 旧键盘(简单难度)

题目概述(简单难度)

题目链接

旧键盘

思路与代码

思路展现

代码示例

import java.util.*;
public class Main {
    public static void func(String strExc,String strAct){
        //set1用于存放实际输入的值,也就是我们的strAct 
        HashSet<Character> set1 = new HashSet<>();
        //因为题目中说了要忽略小写,都为大写,所以用toUpperCase方法
        for(char c:strAct.toUpperCase().toCharArray()){
            set1.add(c);
        }
        //set2是为了避免重复设置的集合,主要存储最终要输出的元素.
        //set2主要存储最终要输出的值
        HashSet<Character> set2 = new HashSet<>();
        for(char c:strExc.toUpperCase().toCharArray()){
        //注意这里要进行两次判断,是因为假设只有判断set1当中的元素是否存在于c中的字符,此时结果会重复
            if(!set1.contains(c)&&!set2.contains(c)) {
                set2.add(c);
                System.out.print(c);
            }
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //我们本来想要得到的输入的值
        String strExc = sc.nextLine();
        //最终实际输入的值
        String strAct = sc.nextLine();
        func(strExc,strAct);
  }
}

假设if(!set1.contains©&&!set2.contains©)这个判断语句中的第二个判断条件没有的话,会出现下面的错误:

我们会发现输出结果出现重复,主要原因是每次判断的时候没有去重,所以此时需要定义额外的set2集合去重.

相关文章
|
存储 NoSQL 数据库
关于 LLM 和知识图谱、图数据库,大家都关注哪些问题呢?
此时,距离 ChatGPT 面世已过去半年有余,一起来看看热度散去之后,大家都在关心什么问题。
368 1
关于 LLM 和知识图谱、图数据库,大家都关注哪些问题呢?
|
8月前
|
前端开发
鸿蒙开发:使用Circle绘制圆形
绘制矩形也好,圆形也好,大家做为一个了解即可,在有需要用到的场景中,合理的使用即可,毕竟现成的组件,要比自己用别的方式实现要简单的多。
212 0
鸿蒙开发:使用Circle绘制圆形
|
8月前
|
人工智能 JSON Java
列表结构与树结构转换分析与工具类封装(java版)
本文介绍了将线性列表转换为树形结构的实现方法及工具类封装。核心思路是先获取所有根节点,将其余节点作为子节点,通过递归构建每个根节点的子节点。关键在于节点需包含 `id`、`parentId` 和 `children` 三个属性。文中提供了两种封装方式:一是基于基类 `BaseTree` 的通用工具类,二是使用函数式接口实现更灵活的方式。推荐使用后者,因其避免了继承限制,更具扩展性。代码示例中使用了 Jackson 库进行 JSON 格式化输出,便于结果展示。最后总结指出,理解原理是进一步优化和封装的基础。
275 0
|
11月前
|
分布式计算 DataWorks Serverless
通过函数计算节点实现GitHub实时数据分析与结果发送
开发人员在基于GitHub开源项目进行开发时会产生海量事件,GitHub会记录每次事件的类型、详情、开发者和代码仓库等信息,并开放其中的公开事件。DataWorks提供“Github十大热门编程语言”模板,通过对GitHub中公开数据集进行加工和分析,并将分析结果以邮箱的方式发送给指定用户。运行本案例后,您将得到Github中Top10编程语言每小时被提交的次数与排行。
284 10
|
数据采集 数据可视化 关系型数据库
基于Python flask MySQL 猫眼电影可视化系统设计与实现
本文介绍了一个基于Python Flask框架、MySQL数据库和Layui前端框架的猫眼电影数据采集分析与可视化系统,该系统通过爬虫技术获取数据,利用Python开源数据分析库处理数据,并使用Echart可视化工具展示统计图表,旨在提供对电影市场情况和趋势的深入了解。
611 5
基于Python flask MySQL 猫眼电影可视化系统设计与实现
|
算法 C语言
(“拨”取数字的典例:N位水仙花数判断及水仙花数变种)
这篇内容介绍了如何判断和生成水仙花数,水仙花数是一个n位数,其各位数字的n次方之和等于该数本身。文章首先回顾了"拨数"的概念,然后通过实例展示了如何判断三位水仙花数,并将其推广到任意位数的水仙花数。作者提供了详细的解题思路和代码示例,强调了解决这类问题时要慢下来,分步骤分析问题。最后,文章还探讨了一个水仙花数的变种问题,即数字拆分后乘积之和等于原数的情况。
1137 0
|
设计模式 开发框架 Java
java设计模式面试题大全含答案
java设计模式面试题大全含答案
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
314 0
|
安全 Java C++
Java中的AOP编程详解
Java中的AOP编程详解
|
存储 监控 安全
智能家居安全:风险评估与防护策略
【6月更文挑战第27天】随着物联网技术的飞速发展,智能家居系统逐渐成为现代生活的一部分。然而,随之而来的安全问题也日益凸显,成为制约其发展的关键因素之一。本文从智能家居的安全隐患出发,深入分析当前面临的主要安全挑战,并提出相应的防护措施。通过综合运用技术手段和管理策略,旨在为智能家居系统的安全防护提供一套实用的解决方案。