【五月集训】Day07——哈希表

哈希表 知识管理 五月集训
摘要由CSDN通过智能技术生成


前言

        第7天:哈希表
        哈希表则提供了更快的查找方式,线性枚举时间复杂度为O( n n n),遇到有序顺序表时采用二分查找的方式时间复杂度为O( log ⁡ 2 n \log_2 n log2n)。把需要查找的数据,通过一个函数映射,找到存储数据位置的过程为哈希哈希表,又称散列表,使用 O(n) 空间复杂度存储数据,通过哈希函数映射位置,从而实现近似 O(1) 时间复杂度的插入、查找、删除等操作。
        Python中常见的数据结构有列表、字典、集合以及元组。


一、练习题目

题目链接 难度
1512. 好数对的数目 ★☆☆☆☆
2006. 差的绝对值为 K 的数对数目 ★☆☆☆☆
1347. 制造字母异位词的最小步骤数 ★★☆☆☆
面试题 10.02. 变位词组 ★★☆☆☆

二、思路与代码

1. 好数对的数目

        题目描述:
        给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。

解题思路:
        1)根据题目提示,nums取值范围在100以内,创建一个长度为101的哈希数组Hash
        2)哈希数组的下标为nums的取值,每新出现一个相同下标,新的好数对加Hash[nums[i]]个,Hash[nums[i]] += 1

class Solution(object):
    def numIdenticalPairs(self, nums)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值