哈希表对应的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;
}
相关推荐
VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
A-程序设计9 小时前
基于Django短视频推荐系统设计与实现-(源码+LW+可部署)
后端·python·django
古城小栈9 小时前
Go中 巧妙解决 同主版本多子版本共存
后端·golang
心灵宝贝10 小时前
sw_64架构 docker-ce-cli rpm 安装方法(附安装包)
后端·spring·spring cloud
IT_陈寒10 小时前
Redis性能翻倍的5个冷门技巧:从缓存穿透到集群优化实战指南
前端·人工智能·后端
聆风吟º10 小时前
【Spring Boot 报错已解决】Spring Boot接口报错 “No converter found” 解决手册
java·spring boot·后端
美味小鱼10 小时前
DupFinder:一个用 Rust 编写的高性能重复文件查找工具
开发语言·后端·rust
Victor35610 小时前
Redis(160)Redis的安全问题如何解决?
后端
Victor35610 小时前
Redis(161)如何使用Redis实现分布式锁?
后端
芷栀夏10 小时前
多设备文件接力太麻烦?Go File + cpolar让传输效率翻倍
开发语言·后端·golang