码迷,mamicode.com
首页 > 其他好文 > 详细

【字符串】383. 赎金信

时间:2020-05-03 20:35:23      阅读:61      评论:0      收藏:0      [点我收藏+]

标签: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 };

 

【字符串】383. 赎金信

标签:class   图片   意思   img   需要   return   映射关系   组成   str   

原文地址:https://www.cnblogs.com/ocpc/p/12823073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!