day21(12.1)——leetcode面试经典150

383. 赎金信

坚持真的好难啊,我因为答辩写报告很多事情,六级也没好好准备,算法题也没好好写

383. 赎金信

题目:

题解:

java 复制代码
class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        Map<Character,Integer> mm = new HashMap<>();
        for(int i=0;i<magazine.length();i++) {
            mm.put(magazine.charAt(i), mm.getOrDefault(magazine.charAt(i),0)+1);
        }
        for(int i=0;i<ransomNote.length();i++) {
            Character c = ransomNote.charAt(i);
            if(mm.containsKey(c)&&mm.get(c)>=1) {
                mm.replace(c,mm.get(c)-1);
            }
            else {
                return false;
            }
        }
        return true;
    }
}

205. 同构字符串

205. 同构字符串

题目:

题解:

java 复制代码
class Solution {
    public boolean isIsomorphic(String s, String t) {
        Map<Character,Character> map = new HashMap<>();
        Map<Character,Character> rmap = new HashMap<>();
        if(s.length()!=t.length()) {
            return false;
        }
        for(int i=0;i<s.length();i++) {
            Character ss = s.charAt(i);
            Character tt = t.charAt(i);
            //正向判断
            //判断map中是否包含ss中的字符            
            if(map.containsKey(ss)) {
                //判断是否为映射的字符
                //如果不等于
                if(map.get(ss) != tt) {
                    //直接返回false
                    return false;  
                }
            }
            else {
                //进行设置对应的映射字符
                map.put(ss, tt);
            }
            //进行反向判断一下
            //判断map中是否包含tt中的字符            
            if(rmap.containsKey(tt)) {
                //判断是否为映射的字符
                //如果不等于
                if(rmap.get(tt) != ss) {
                    //直接返回false
                    return false;  
                }
            }
            else {
                //进行设置对应的映射字符
                rmap.put(tt, ss);
            }
        }
        return true;
    }
}
相关推荐
踏浪无痕1 小时前
AOP 的真相:注解只是声明,代理才是执行
spring·面试·架构
努力的小郑1 小时前
MyBatis 两个隐蔽深坑实录:Arrays.asList() 与数字 0 的“离奇失踪”
java·面试·mybatis
勤劳打代码1 小时前
循序渐进 —— Flutter GetX 状态管理
flutter·面试·前端框架
东东的脑洞2 小时前
【面试突击四】JAVA基础知识-线程池与参数调优
java·面试
NAGNIP2 小时前
Kimi Linear——有望替代全注意力的全新注意力架构
算法·面试
专业IT有讠果2 小时前
[Docker/K8S] Kubernetes故障克星:19个高频问题速查与秒解指南(2025版)
javascript·面试
T___T3 小时前
从入门到实践:React Hooks 之 useState 与 useEffect 核心解析
前端·react.js·面试
阿蒙Amon3 小时前
C#每日面试题-值类型与引用类型区别
java·面试·c#
今晚务必早点睡3 小时前
Redis——快速入门第五课:Redis 常见坑 & 面试高频问题
数据库·redis·面试