题目描述:
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
*
* 如果可以,返回 true ;否则返回 false 。
*
* magazine 中的每个字符只能在 ransomNote 中使用一次。
解题思路:
哈希表记录然后对比,题目很简单,但是和别人的答案一对比,发现代码写的好冗余,ai重写了一下
解法一:
function canConstruct(ransomNote, magazine) {let map = new Map();//Your runtime beats 29.3 % of typescript submissions// Your memory usage beats 33.33 % of typescript submissions (45.5 MB)for (let i = 0; i < magazine.length; i++) {map.set(magazine[i], (map.get(magazine[i]) || 0) + 1);}for (let i = 0; i < ransomNote.length; i++) {if (!map.has(ransomNote[i]) || map.get(ransomNote[i]) <= 0) {return false;} map.set(ransomNote[i], map.get(ransomNote[i]) - 1);}return true;
};
用时:
//Your runtime beats 29.3 % of typescript submissions
// Your memory usage beats 33.33 % of typescript submissions (45.5 MB)