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;
    }
}
相关推荐
Darling噜啦啦2 小时前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
swipe3 小时前
正则表达式入门到进阶:从表单校验到手写模板引擎
前端·javascript·面试
神奇小汤圆4 小时前
RAG大厂面试题汇总:向量检索、混合检索、Rerank、幻觉处理高频问题
面试
假如让我当三天老蒯5 小时前
回归基本功:Map/Set 与 WeakMap/WeakSet 的区别
前端·面试
假如让我当三天老蒯9 小时前
回归基本功!前端的解构赋值、扩展运算符、剩余参数
前端·面试
Lee川10 小时前
Memory 模块深度解析(面试向)
人工智能·面试
JAVA9651 天前
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的
java·jvm·面试
枫子有风1 天前
LLM-Agent智能体(大厂面试常问)
面试·职场和发展·llm·agent
Oo_行者_oO1 天前
删库先别跑路,万一修复呢?MySQL 误删数据恢复可落地运维文档
数据库·面试
Moment1 天前
从多人编辑到 Agent 写文档,Hocuspocus v4 正在改写协同系统 😍😍😍
前端·后端·面试