题目描述
实现一个算法确定能否由杂志构成信件。介绍如下:
影视剧中信件大多是从报纸或杂志上的字符剪下来拼接而成的。杂志和信件均由字符串构成,对于给定的杂志和信件,确定信件是否可以由杂志上的字符构成。例如杂志为 ab,信件为 aa,则不能构成。杂志为 aab,信件为 aa,则可以构成。
输入描述
输入两行字符串,长度均不超过 100。
第一行为杂志字符串,第二行为信件字符串。
输出描述
输出一行,若信件可由杂志构成则输出 YES,否则输出 NO。
输入输出样例
示例
输入
ab
aa
输出
NO
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//杂志
String s=sc.nextLine();
//信件
String t=sc.nextLine();
//key-value 通过key去获取value
HashMap<Character,Integer> cs=new HashMap<>();
HashMap<Character,Integer> ct=new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char c=s.charAt(i);
cs.put(c,cs.getOrDefault(c,0)+1);
}
for (int i = 0; i < t.length(); i++) {
char c=t.charAt(i);
ct.put(c,ct.getOrDefault(c,0)+1);
}
for (char i='a';i<='z';i++){
if (cs.getOrDefault(i,0)<ct.getOrDefault(i,0)){
System.out.println("NO");
return;
}
}
System.out.println("YES");
}
}