数据结构与算法例题(4)——哈希表

简介: 哈希表例题

image-20221003151653776

#第一种方法:直接判断集合长度
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        len1=len(nums)
        len2=len(set(nums))
        if len1==len2:
            return False
        else:
            return True
#2.使用hash表
        #首先判断元素长度是否为0
        if len(nums)==0:
            return False
        hashtable={}
        for num in nums:
            if num not in hashtable.keys():
                hashtable[num]=1
            else:
                #当需要得到次数时用这个
                # temp=hashtable.values
                # hashtable[num]=temp+1
                return True
        return False

image-20221003155343800

#统计两个字符串中元素出现的个数 自己写的还是很复杂
class Solution:
    def findTheDifference(self, s: str, t: str) -> str:
        hashtable1={}
        hashtable2={}
        for i in s:
            if i not in hashtable1.keys():
                hashtable1[i]=1
            else:
                temp=hashtable1[i]
                hashtable1[i]=temp+1
        for j in t:
            if j not in hashtable2.keys():
                hashtable2[j]=1
            else:
                temp=hashtable2[j]
                hashtable2[j]=temp+1
        for key1 in hashtable1.keys():
            for key2 in hashtable2.keys():
                if key1==key2:
                    hashtable2[key2]=hashtable2[key2]-hashtable1[key1]
        for keys,values in hashtable2.items():
            if values!=0:
                return keys
相关文章
|
11天前
|
算法 Java 数据库
数据结构与算法学习十五:哈希表
这篇文章详细介绍了哈希表的概念、应用实例、实现思路,并提供了使用Java实现的哈希表代码。
31 0
数据结构与算法学习十五:哈希表
|
1月前
|
存储 Java Serverless
【数据结构】哈希表&二叉搜索树详解
本文详细介绍了二叉搜索树和哈希表这两种数据结构。二叉搜索树是一种特殊二叉树,具有左子树节点值小于根节点、右子树节点值大于根节点的特点,并且不允许键值重复。文章给出了插入、删除和搜索等方法的具体实现。哈希表则通过哈希函数将键名映射为数组下标,实现快速查找,其插入、删除和查找操作时间复杂度理想情况下为O(1)。文中还讨论了哈希函数的设计原则、哈希冲突的解决方法及哈希表的实现细节。
34 8
【数据结构】哈希表&二叉搜索树详解
|
16天前
|
存储 缓存 Java
【数据结构】哈希表
【数据结构】哈希表
18 1
|
4月前
|
算法 C语言
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
|
2月前
|
存储 Java
数据结构中的哈希表(java实现)利用哈希表实现学生信息的存储
这篇文章通过Java代码示例展示了如何实现哈希表,包括定义结点类、链表类、数组存储多条链表,并使用简单的散列函数处理冲突,以及如何利用哈希表存储和查询学生信息。
数据结构中的哈希表(java实现)利用哈希表实现学生信息的存储
|
4月前
|
算法 C语言
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
|
4月前
|
算法 C语言 计算机视觉
【数据结构与算法 经典例题】括号匹配问题
【数据结构与算法 经典例题】括号匹配问题
|
4月前
|
算法
【数据结构与算法 经典例题】随机链表的复制(图文详解)
【数据结构与算法 经典例题】随机链表的复制(图文详解)
|
4月前
|
算法 C语言
【数据结构与算法 经典例题】链表的回文结构(图文详解)
【数据结构与算法 经典例题】链表的回文结构(图文详解)