<LeetCode天梯>Day018 有效的字母异位词(哈希表) | 初级算法 | Python

简介: <LeetCode天梯>Day018 有效的字母异位词(哈希表) | 初级算法 | Python

以下为我的天梯积分规则:


每日至少一题:一题积分+10分

若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)

若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60)


初始分为100分

若差一天没做题,则扣积分-10分(周六、周日除外注:休息)

坚持!!!


初级算法

刷题目录

字符串


image.png

image.png

题干

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。


注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。


示例1:


输入: s = “anagram”, t = “nagaram”

输出: true


示例2:


输入: s = “rat”, t = “car”

输出: false


哈希表

分析:


字母异位词,若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。我们首选考虑的必然是使用哈希表来实现。两个字符串中的字母分别放入哈希表中,在进行比较,如果全部相等,那么返回True,否则返回False。

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        # 建立两个哈希表
        hashmap1={}
        hashmap2={}
        # 分别读取字符串中的值
        for i in s:
            if i not in hashmap1:
                hashmap1[i] = s.count(i)  # 将字符串中的字母的个数放入哈希表1中
        for j in t:
            if j not in hashmap2:
                hashmap2[j] = t.count(j)  # 将字符串中的字母的个数放入哈希表2中
        # 判断两哈希表是否相等则返回true,否则返回False
        if hashmap1 == hashmap2:
            return True
        return False

image.png

简直是太快了这个速度,有木有~

加个鸡腿吧!

image.png

image.png


相关文章
|
2月前
|
存储 算法
LeetCode第49题字母异位词分组
LeetCode第49题"字母异位词分组"的解题方法,通过将每个字符串的字符排序后作为键存储在HashMap中,有效地将所有字母异位词分组。
LeetCode第49题字母异位词分组
|
2月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
82 2
|
2月前
|
算法
【算法】滑动窗口——找到字符串中所有字母异位词
【算法】滑动窗口——找到字符串中所有字母异位词
|
2月前
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
49 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
|
2月前
|
算法
LeetCode第17题电话号码的字母组合
该文章介绍了 LeetCode 第 17 题电话号码的字母组合的解法,通过分析得出可使用递归和回溯的思想解决,避免循环穷举的高循环次数,并给出了具体的编码实现,同时总结了该题较难理解,需要了解递归的本质,当嵌套循环层次多时可考虑递归。
LeetCode第17题电话号码的字母组合
|
2月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
39 6
|
2月前
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
55 2
|
2月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
41 1
|
2月前
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
40 1
|
2月前
|
算法 Python
【Leetcode刷题Python】73. 矩阵置零
本文介绍了LeetCode第73题的解法,题目要求在给定矩阵中将所有值为0的元素所在的行和列全部置为0,并提供了一种原地算法的Python实现。
19 0
【Leetcode刷题Python】73. 矩阵置零
下一篇
无影云桌面