【leetcode 13】哈希表 242.有效的字母异位词

原题链接

题解链接

一般哈希表都是用来快速判断一个元素是否出现集合里。

当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。

数组

set (集合)

map(映射)

如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!

❓什么是字母异位词

字母异位词(Anagram)是指由相同字母组成,但字母的排列顺序不同的一组单词。例如,"listen" 和 "silent" 就是字母异位词,它们都包含了字母 "e、i、l、n、s、t",只是这些字母的排列顺序不一样。

java 复制代码
class Solution {
    public boolean isAnagram(String s, String t) {
        int[] record=new int [26];
        for(int i = 0; i < s.length(); i++){
            record[s.charAt(i) - 'a'] ++;
        }
        
        for(int i=0;i<t.length();i++){
            record[t.charAt(i)-'a']--;
        }

        for(int count:record){
            if(count!=0){
                return false;
            }
        }
        return true;
    }
}

时间复杂度O(m+n) 空间复杂度O(1)

相关推荐
Hali_Botebie几秒前
期望最大化算法,Expectation-Maximization Algorithm
算法
小程故事多_805 分钟前
从初代架构到大模型时代,英伟达GPU底层架构演进与核心逻辑深度解析
java·人工智能·分布式·架构
组合缺一9 分钟前
Solon 热加载与插件热插拔:Debug 模式 × E-Spi × H-Spi 全解析
java·solon·插件·plugin·热插拨
MageGojo10 分钟前
Whois 域名查询 API 接入实战:用一个 GET 请求获取域名注册信息
java·git·github
weixin_4684668510 分钟前
通义千问核心能力与实战表现深度评测
人工智能·深度学习·算法·ai·大模型
MandalaO_O10 分钟前
SpringMVC:框架搭建、核心配置与前后端交
java
jerryinwuhan11 分钟前
marker BiBERTo解释
java·前端·人工智能
菜菜的顾清寒14 分钟前
力扣HOT100(48)图论-腐烂的橘子
算法·leetcode·图论
在繁华处19 分钟前
Java从零到熟练(八):泛型与注解
java·开发语言·python
Ulyanov22 分钟前
深入QML滑块与进度控制:构建动态数据可视化界面:QML+PySide6现代开发入门(六)
开发语言·python·算法·ui·信息可视化·雷达电子对抗仿真