题目考察的知识点是:
字符串的遍历。
题目解答方法的文字分析:
我们遍历字符串requirements,并逐个减少哈希表中对应字符的出现次数。如果在遍历requirements的过程中,发现某个字符的出现次数已经为0,或者哈希表中没有该字符,说明requirements不能由allocations中的字符构成,返回字符串"NO",否则返回"YES"。
本题解析所用的编程语言:
java语言。
完整且正确的编程代码:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param requirements string字符串
* @param allocations string字符串
* @return string字符串
*/
public String can_construct (String requirements, String allocations) {
// write code here
int[] rec = new int[26];
for (char c : allocations.toCharArray()) {
rec[c - 'A']++;
}
for (char c : requirements.toCharArray()) {
rec[c - 'A']--;
if (rec[c - 'A'] < 0) {
return "NO";
}
}
return "YES";
}
}

京公网安备 11010502036488号