哈希表对应的leetcode

1. 背景

好多的leetcode可以采用哈希表来缓存一下数据,以空间换时间来解决

2. 实例

2.1 205. 同构字符串

需要注意不同的字段不可以对应同一个字段

ini 复制代码
public boolean isIsomorphic(String s, String t) {
    Map<Character, Character> reflectMap = new HashMap<>();
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        if (reflectMap.containsKey(c)){
            Character character = reflectMap.get(c);
            if (character != t.charAt(i)){
                return false;
            }

        } else {
            if (reflectMap.containsValue(t.charAt(i))){
                return false;
            }
            reflectMap.put(c, t.charAt(i));
        }
    }
    return true;
}

2.2 383. 赎金信

可以利用数组的索引充当哈希表的key

arduino 复制代码
public boolean canConstruct(String ransomNote, String magazine) {
    if (ransomNote.length() > magazine.length()) {
        return false;
    }
    int[] arr = new int[26];
    for (int i = 0; i < magazine.length(); i++) {
        arr[ magazine.charAt(i) - 'a'] ++;
    }
    for (int i = 0; i < ransomNote.length(); i++) {
        arr[ransomNote.charAt(i) - 'a'] --;
        if (arr[ransomNote.charAt(i) - 'a'] < 0){
            return false;
        }
    }
    return true;
}
相关推荐
WZTTMoon5 分钟前
Spring Boot 启动报错:OpenFeign 隐性循环依赖,排查了整整一下午
java·spring boot·后端·spring cloud·feign
波波0073 小时前
ASP.NET MVC 中的返回类型全集详解
后端·asp.net·mvc
糟糕好吃8 小时前
我让 AI 操作网页之后,开始不想点按钮了
前端·javascript·后端
leonkay9 小时前
Golang语言闭包完全指南
开发语言·数据结构·后端·算法·架构·golang
颜酱10 小时前
BFS 与并查集实战总结:从基础框架到刷题落地
javascript·后端·算法
无限大610 小时前
数字生存02:如何在信息爆炸的时代保持清醒,不被算法控制
后端
无限大610 小时前
AI实战02:一个万能提示词模板,搞定90%的文案/设计/分析需求
前端·后端
青柠代码录11 小时前
【Linux】脚本:console.log 日志定期备份清理
后端
陈随易12 小时前
站在普通开发者的角度,我觉得 RollCode 更像是“把 H5 交付这件事重新捋顺了”
前端·后端·程序员
陈随易12 小时前
RollCode:不只是在做页面,而是在缩短“从需求到上线”的整条链路
前端·后端