徐州网站建设公司排名,成都住建平台,电商seo名词解释,2024舆情信息范例8篇文章目录 力扣题目代码分析 力扣题目
给你两个字符串#xff1a;ransomNote 和 magazine #xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以#xff0c;返回 true #xff1b;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一… 文章目录 力扣题目代码分析 力扣题目
给你两个字符串ransomNote 和 magazine 判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以返回 true 否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。
示例 1
输入ransomNote “a”, magazine “b” 输出false 示例 2
输入ransomNote “aa”, magazine “ab” 输出false 示例 3
输入ransomNote “aa”, magazine “aab” 输出true
提示
1 ransomNote.length, magazine.length 105 ransomNote 和 magazine 由小写英文字母组成
代码
bool canConstruct(char* ransomNote, char* magazine)
{int temp[26] { 0 };int len 0;int i 0;len strlen(magazine);for (i 0; i len; i){temp[magazine[i] - a];}len strlen(ransomNote);for (i 0; i len; i){temp[ransomNote[i] - a]--;}for (i 0; i 26; i) {if (temp[i] 0){return false;}}return true;
}分析
1.判断 ransomNote 能不能由 magazine 里面的字符构成。通过题目中的这句话可以分析出ransomNote是magazine的子集。 2.遍历magazine记录字母出现的次数 3.遍历ransomNote减去对应字母出现的次数
遍历temp数组如果数组中有小于0的数字说明ransomNote中有字母没有在magazine中出现。
其实此题和力扣-389题找不同基本一致大家可以参考这篇文章。