美文网首页
2022-02-28 「383. 赎金信」

2022-02-28 「383. 赎金信」

作者: 柠香萌萌鸡 | 来源:发表于2022-02-28 09:19 被阅读0次

    不知道今天的简单题够判多少年:https://leetcode-cn.com/problems/ransom-note/

    解题用到的大部分方法来自上一题的笔记,这里就不重复写了:https://www.jianshu.com/p/0396d6112b06

    官方解题思路是,由于全部都是小写字母(emmm我审题不认真,没有看到),因此只要new一个长度为26的数组,来存每个字母的出现次数就好了,2次for循环。

    我的思路是,把base字符串转成char[]后存入HashMap中,相同字符的value+1,再遍历另一个字符串转的char[],如果找不到直接返回false,能找到value就-1,循环全部走完还没有返回false,就返回true。

    
    class Solution {
    
        public boolean canConstruct(String ransomNote, String magazine) {
    
            Map tmp = new HashMap(); 
    
    
    
            for (int i = 0 ; i < magazine.length();i++) {
    
                char ch = magazine.charAt(i);
    
                tmp.put(ch, tmp.getOrDefault(ch, 0) +1);
    
            }
    
            for (int j = 0; j < ransomNote.length(); j++) {
    
                char ch1 = ransomNote.charAt(j);
    
                if (tmp.getOrDefault(ch1, 0) == 0) {
    
                    return false;
    
                }
    
                tmp.put(ch1, tmp.get(ch1)-1);
    
            }
    
            return true;
    
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:2022-02-28 「383. 赎金信」

          本文链接:https://www.haomeiwen.com/subject/krxlrrtx.html