首页 > 其他分享 >Set和Map练习题2

Set和Map练习题2

时间:2024-11-24 10:35:03浏览次数:6  
标签:练习题 Map ch set String 宝石 Set stones 输入

题目:771. 宝石与石头 - 力扣(LeetCode)

 给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。

示例 1:

输入:jewels = "aA", stones = "aAAbbbb"
输出:3

示例 2:

输入:jewels = "z", stones = "ZZ"
输出:0

思路:利用HashSet函数来写,首先遍历宝石,把宝石加入集合中,然后遍历石头,与宝石进行比较,如果是宝石,就进行计数++,最后返回他的个数。

class Solution {
    public int numJewelsInStones(String jewels, String stones) {
        Set<Character> set=new HashSet<>();
        for(char ch:jewels.toCharArray()){//循环遍历,把宝石加入集合中
            set.add(ch);
        }
        int count=0;
        for(char ch:stones.toCharArray()){//遍历石头与宝石进行比较
            if(set.contains(ch)){
                count++;
            }
        }
        return count;
    }
}

题目:旧键盘 (20)__牛客网 

链接:旧键盘 (20)__牛客网
来源:牛客网
 

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出
肯定坏掉的那些键。

输入描述:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、
以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。


 

输出描述:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。

示例1

输入

7_This_is_a_test<br/>_hs_s_a_es

输出

7TI

思路:定义两个字符串,循环遍历第二个输出字的字符串,然后再循环遍历第一个输入的字符串,利用HashSet函数来描述,如果最后输出的字符串不等于第一个输入的也不等于第二个输出的,则进行打印,因为坏键盘至少输入一次,所以要把第一次输入的字符串在加入一遍。

代码:

import java.util.Scanner;
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
            Scanner in=new Scanner(System.in);
            // 注意 hasNext 和 hasNextLine 的区别
            while (in.hasNextLine()) { // 注意 while 处理多个 case
                String s1 = in.nextLine();
                String s2 = in.nextLine();
                fun(s1, s2);
            }

        }
    public static void fun(String str1,String strAct) {
        Set<Character> set=new HashSet<>();
        for (char ch:strAct.toUpperCase().toCharArray()) {
            set.add(ch);
        }
        Set<Character> set2=new HashSet<>();
        for (char ch:str1.toUpperCase().toCharArray()) {
            if(!set.contains(ch)&&!set2.contains(ch)){
                System.out.print(ch);
                set2.add(ch);
            }
        }
    }
}

标签:练习题,Map,ch,set,String,宝石,Set,stones,输入
From: https://blog.csdn.net/2401_86415114/article/details/143957782

相关文章

  • 使用sqlmap解SQL Injection (GET/Select)
    使用sqlmap获取用户名和密码1.获取所有数据库sqlmap-u'http://bwapp.com/sqli_2.php?movie=1&action=go'--cookie="security_level=0;PHPSESSID=on0cemvtohplta6amq8oltqbh7"--dbs2.获取当前连接的数据库--current-db sqlmap-u'http://bwapp.com/sqli_2.......
  • [Redis 基础知识] Redis Set 类型常用命令
    (1)简介Redis的Set是String类型的无序集合。集合元素是唯一的,这就意味着集合中不能出现重复的数据。Redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的元素数为2^32-1(4294967295,每个集合可存储40多亿个元素)。(2)常用命令命令......
  • 关于sqlmap中--os-shell如何getshell的源码学习
    目录前言数据库注入getshell源码分析前言最近详细看了@v1ll4n大佬写的几篇关于sqlmap源码分析的文章(sqlmap内核分析)收获很多。借此机会在这里记录一下我较感兴趣的sqlmap中getshell相关部分的分析,简单从源码的角度看看sqlmap是如何通过--os-shell拿服务器shell的。数据库注入g......
  • 全面解析:单列集合Collection和双列集合Map
            Java中的集合(Collection)是一个框架,用于存储、操作数据。集合框架包括了许多接口和类,用于表示数据的存储方式。集合主要分为两大类:Collection和Map。单列集合Collection的继承体系图:Collection接口提供了一些通用的方法,用于操作集合的元素。常用的方法......
  • pg_file_settings和pg_settings系统视图的区别
    PostgreSQL的系统视图pg_file_settings和pg_settings的区别pg_file_settings和pg_settings是PostgreSQL中两个相关的系统视图,它们用于查看和管理数据库的配置设置。这两个视图提供了不同层次的配置信息,适用于不同的管理和调试需求。以下是它们的区别和特点:pg_file_sett......
  • pg_settings参数详解
    引言在管理和配置PostgreSQL数据库时,了解参数的分类和了解如何查看和更改这些参数是至关重要的。参数的分类涉及到不同的生效方式,如内部参数、需要重启生效的参数、不需要重启而可以重新加载配置文件生效的参数等。本文将介绍各类参数的分类及其在PostgreSQL中的作用。一、参数的......
  • C++ 标准模板库(STL)——set的使用
    目录一、描述二、创建和初始化三、插入元素四、删除元素五、查找元素六、遍历元素七、大小和空判断八、迭代器九、自定义比较函数十、其他函数十一、注意事项一、描述std::set是C++STL中的一个关联容器,用于存储唯一的元素,并且这些元素是按照某种顺序排列......
  • 【JAVA】第十节:再谈super关键字,代码块,修饰符protected,编译器自动打印构造方法,get set
    上篇讲了静态,静态变量初始化,还有继承的概念,这篇主要是补充之前一些内容的细节,还有一些零散知识;比如super,以及在有了继承以后,代码块的执行,protect关键字等等;目录一、再谈Super关键字1.1Super调用父类变量:1.2Super调用父类方法:1.3Super在子类构造方法中调用父类构造方法:......
  • Unity资源打包之Asset Bundle
    AssetBundle的作用:1.AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;2.AssetBundle自身保存着互相的依赖关系;3.压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输;4.把一些可以下载内容放在AssetBundle里面,可以......
  • Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with
    一、现象在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Datatruncation:CannotcreateaJSONvaluefromastringwithCHARACTERSET'binary'.​‍报错信息:Cause:com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:......