标签:class 图片 意思 img 需要 return 映射关系 组成 str
题目:
解答:
思路:此题最难的就是读懂题,此题的意思是用后面字符串的字符是否可以组成前面一个字符,所以此题只需要判断后面各个字符的总数是否大于前面字符的即可,这又成了一个映射问题,字符映射个数,所以我们又可以用map来解决问题,只需要先遍历后面字符串统计所有字符出现的次数,然后在遍历前面一个字符串,然后每遍历一个字符串就减去1再判断是否小于0即可。遇到有映射关系的题就要优先考虑使用map
1 class Solution { 2 public: 3 bool canConstruct(string ransomNote, string magazine) 4 { 5 unordered_map<char,int>map; 6 for(int i = 0;i < magazine.length();i++) 7 { 8 map[magazine[i]]+=1; 9 } 10 11 for(int i = 0; i < ransomNote.length(); i++) 12 { 13 map[ransomNote[i]] -=1; 14 if(map[ransomNote[i]] < 0) 15 { 16 return false; 17 } 18 } 19 return true; 20 } 21 };
标签:class 图片 意思 img 需要 return 映射关系 组成 str
原文地址:https://www.cnblogs.com/ocpc/p/12823073.html