哈希表对应的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;
}
相关推荐
蚂蚁在飞-1 小时前
Golang基础知识—cond
开发语言·后端·golang
程序员爱钓鱼7 小时前
匿名函数与闭包(Anonymous Functions and Closures)-《Go语言实战指南》原创
后端·golang
言之。8 小时前
Go 语言中接口类型转换为具体类型
开发语言·后端·golang
diving deep9 小时前
XML简要介绍
xml·java·后端
编程乐学(Arfan开发工程师)10 小时前
06、基础入门-SpringBoot-依赖管理特性
android·spring boot·后端
编程乐学(Arfan开发工程师)10 小时前
05、基础入门-SpringBoot-HelloWorld
java·spring boot·后端
橘子海全栈攻城狮11 小时前
【源码+文档+调试讲解】党员之家服务系统小程序1
java·开发语言·spring boot·后端·小程序·旅游
冼紫菜11 小时前
Java开发中使用 RabbitMQ 入门到进阶详解(含注解方式、JSON配置)
java·spring boot·后端·rabbitmq·springcloud
boring_11111 小时前
Apache Pulsar 消息、流、存储的融合
分布式·后端
源码方舟14 小时前
SpringBoot + Shiro + JWT 实现认证与授权完整方案实现
java·spring boot·后端