哈希表对应的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;
}
相关推荐
武超杰2 分钟前
Spring Boot入门教程
java·spring boot·后端
IT 行者9 分钟前
Spring Boot 集成 JavaMail 163邮箱配置详解
java·spring boot·后端
gelald31 分钟前
JVM - 运行时内存模型
java·jvm·后端
陈酒尽余欢1 小时前
告别 Vibe Coding:用 SDD 让 AI 编程提效 50%,三工具实战对比
后端·架构
树上有只程序猿1 小时前
低代码平台选型指南,10 款热门工具对比
前端·后端
左左右右左右摇晃1 小时前
Java笔记——JMM
java·后端·spring
Java编程爱好者1 小时前
面试官:“你一天烧几十个token也好意思面AI应用开发?”我镇定自若:“我烧的不是token,是我的热情。”面试官:“明天二面。”
后端
Memory_荒年1 小时前
Nacos双面超人:注册中心 + 配置中心,一个都不能少!
java·后端·架构
Memory_荒年1 小时前
Nacos 面试通关宝典:从入门到源码,你值得拥有!
后端
shepherd1111 小时前
别再无脑 cat 了!后端排查 GB 级生产日志的实战命令
linux·后端