leetcode 数据结构 探索哈希表

Posted jerrygogo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 数据结构 探索哈希表相关的知识,希望对你有一定的参考价值。

1、哈希表:哈希表是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。通过选择合适的哈希函数,哈希表可以在插入和搜索方面实现出色的性能。

                    哈希表的关键思想是使用哈希函数将键映射到存储桶

(1)哈希集合:集合数据结构的实现之一,用于存储非重复值。

(2)哈希映射:映射 数据结构的实现之一,用于存储(key, value)键值对。

    哈希函数: y = x%5  (x是键值,y是桶的索引)  

    插入:通过哈希函数解析键,将它们映射到相应的桶中。

    搜索:通过相同的哈希函数解析键,并仅在特定存储桶中搜索。

2、哈希集合的操作:add(value):向哈希集合中插入一个值;

            remove(value):将给定值从哈希集合中删除。

3、哈希映射的操作:put(key, value):向哈希映射中插入(键,值)的数值对,如果键对应的值已经存在,更新这个值。

             get(key):返回给定的键所对应的值,如果映射中不包含这个键,  返回-1。

                                   remove(key):如果映射中存在这个键,删除这个数值对。

                                    

 练习题:(1)快乐数:

def ishappy(n):
    hashset = set()
    while True:
        n = sum([int(i)**2 for i in str(n)])
        if n==1:
            return True
        elif n in hashset:
            return False
        else:
            hashset.add(n)
            
n = 19
print(ishappy(n))

 

以上是关于leetcode 数据结构 探索哈希表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 442 数组中重复的数据[哈希表] HERODING的LeetCode之路

LeetCode刷题笔记-数据结构-day7

LeetCode刷题笔记-数据结构-day7

LeetCode通关:哈希表六连,这个还真有点简单

LeetCode通关:哈希表六连,这个还真有点简单

哈希表底层探索