当前位置:首页 > 未命名 > 正文内容

构建短字符串

淙嶙5年前 (2020-07-21)未命名1023

描述


给定任意一个较短的子串,和另一个较长的字符串,判断短的字符串是否能够由长字符串中的字符构建出来,且长串中的每个字符只能用一次。


输入


一行数据包括一个较短的字符串和一个较长的字符串,用一个空格分隔,如:
ab aab
bb abc
aa cccc


输出


如果短的字符串可以由长字符串中的字符构建出来,返回字符串 “true”,否则返回字符串 "false",注意返回字符串类型而不是布尔型。


输入样例

a b
aa ab
aa aab

输出样例

false
false
true

private static String solution(String line) {
    // 在此处理单行数据
    String  a[] = line.split(" ");
String str1 = a[0];
String str2 = a[1];
String[] arr = str2.split("");
Map<String,Integer> map = new HashMap<String,Integer>();
for(int i=0;i<arr.length ;i++){
if(map.containsKey(arr[i])){
map.put(arr[i],map.get(arr[i])+1);
}else{
map.put(arr[i],1);
}
}
String res = "true";
for (int i=0; i<str1.length();i++){
String s = String.valueOf(str1.charAt(i));
if(map.containsKey(s)){
if(map.get(s)-1 < 0){
res = "false";
break;
}
map.put(s,map.get(s)-1);
}else {
res = "false";
break;
}
}
   return res;
}

相关文章

找出可能的合的组合

找出可能的合的组合

描述 给出一组不重复的正整数,从这组数中找出所有可能的组合使其加合等于一个目标正整数 N,如:一组数为 1, 2, 3,目标数为 4,那么可能的加合组合为:1, 1, 1, 11, 1, 21,...

使用void方法交换两个Integer整数

使用void方法交换两个Integer整数

前提条件:1.参数的传递方式:值传递和引用传递,其中值传递为基础数据类型,引用传递为 对象,数组,集合等2.注意,这里要特殊考虑String,以及Integer、Double等几个基本类型包装类,它们...

说一说Java的Unsafe类

说一说Java的Unsafe类

最近在看Java并发包的源码,发现了神奇的Unsafe类,仔细研究了一下,在这里跟大家分享一下。Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。