哈希表对应的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;
}
相关推荐
山岚的运维笔记21 小时前
SQL Server笔记 -- 第73章:排序/对行进行排序
数据库·笔记·后端·sql·microsoft·sqlserver
苍何21 小时前
豆包还能这么玩?附 13 大隐藏玩法,效率起飞(建议收藏)
后端
苍何21 小时前
Kimi 版 OpenClaw 来了,5000+ Skills 随便用,确实给力!
后端
百锦再1 天前
Jenkins 全面精通指南:从入门到脚本大师
运维·后端·python·servlet·django·flask·jenkins
forestsea1 天前
优雅终结启动顺序噩梦:ObjectProvider —— Spring 4.3 开始引入
java·后端·spring
小楼v1 天前
⭐解锁RAG与Spring AI的实战应用(万字详细教学与完整步骤流程实践)
java·后端·rag·spring ai·ai大模型应用
毕设源码-小云学姐1 天前
计算机毕业设计springboot医疗档案管理系统 基于 SpringBoot 的电子医疗档案管理系统的设计与实现 SpringBoot 框架下的医疗档案信息化管理系统开发
spring boot·后端·课程设计
那我掉的头发算什么1 天前
【SpringBoot】一篇文章讲清楚拦截器所有知识
java·spring boot·后端·spring
Loo国昌1 天前
【AI应用开发实战】 03_LangGraph运行时与状态图编排:从直接执行到图编排的演进之路
人工智能·后端·python·自然语言处理·prompt
普通网友1 天前
PL/SQL语言的正则表达式
开发语言·后端·golang