哈希表对应的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;
}
相关推荐
Java水解1 分钟前
常用经典 SQL 语句大全完整版–详解+实例
后端
雨中飘荡的记忆2 分钟前
Spring Test详解
java·后端·spring
神奇小汤圆3 分钟前
MQ生产者确认机制捕获到消息投递失败后如何重试?
后端
不思念一个荒废的名字4 分钟前
【黑马JavaWeb+AI知识梳理】Web后端开发01 - 准备工作、部门管理、日志技术、多表关系、员工管理
后端
用户685453759776914 分钟前
别再裸奔写Python了!类型注解+mypy让你代码健壮如钢铁侠
后端
用户685453759776915 分钟前
为什么大厂都在升级Python 3.12?看完我连夜重构了代码
后端
Frank_zhou19 分钟前
039_Netty网络编程服务端入门程序开发
后端
三姓码农张员外22 分钟前
1、Elasticsearch快照迁移
后端
sin6034 分钟前
学习笔记:异常,泛型,集合(代码示例,企业面试题,企业实际应用场景)
后端
小安同学iter39 分钟前
天机学堂day05
java·开发语言·spring boot·分布式·后端·spring cloud·微服务