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;
    }
}
相关推荐
血小板要健康7 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
cyforkk10 小时前
09、Java 基础硬核复习:异常处理(容错机制)的核心逻辑与面试考点
java·数据库·面试
Warren9813 小时前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
努力学算法的蒟蒻14 小时前
day73(2.1)——leetcode面试经典150
面试·职场和发展
Warren9814 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
cyforkk14 小时前
13、Java 基础硬核复习:泛型(类型安全)的核心逻辑与面试考点
java·开发语言·面试
试着15 小时前
【huawei】机试
华为·面试·机试·手搓代码
编程彩机15 小时前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
编程彩机15 小时前
互联网大厂Java面试:从Spring WebFlux到分布式事务的技术场景解析
java·微服务·面试·分布式事务·spring webflux
kogorou0105-bit16 小时前
前端设计模式:发布订阅与依赖倒置的解耦之道
前端·设计模式·面试·状态模式