直击高频编程考点:散列表知识及经典算法题总结

目录

一、背景知识

二、应用举例

(一)Spring框架或其他框架中的应用举例

(二)实际开发中的应用举例

三、相关编程练习

1、无重复字符的最长子串(Longest Substring Without Repeating Characters)

2、有效的数独(Valid Sudoku)

3、最小覆盖子串(Minimum Window Substring)

4、字母异位词分组(Group Anagrams)

5、有效的字母异位词(Valid Anagram)

6、找到字符串中所有字母异位词(Find All Anagrams in a String)

7、LRU缓存机制(LRU Cache)

8、多数元素(Majority Element)

9、重复的DNA序列(Repeated DNA Sequences)

10、快乐数(Happy Number)

备注:最优解法-Floyd 判圈算法

11、存在重复元素(Contains Duplicate)

12、存在重复元素 II(Contains Duplicate II)

13、单词规律(Word Pattern)

14、前K个高频元素(Top K Frequent Elements)

15、字符串中的第一个唯一字符(First Unique Character in a String)

16、四数相加 II(4Sum II)

17、和为K的子数组(Subarray Sum Equals K)

18、最常见的单词(Most Common Word)

19、同构字符串(Isomorphic Strings)

20、两个数组的交集(Intersection of Two Arrays)

21、两个数组的交集 II(Intersection of Two Arrays II)

22、分糖果(Distribute Candies)

23、宝石与石头(Jewels and Stones)


干货分享,感谢您的阅读!祝你编程题必过!

一、背景知识

散列(Hashing)是一种将任意长度的数据映射为固定长度值的技术散列函数(Hash function)是执行这种映射的算法,它将原始数据(也称为消息或输入)作为输入,并生成固定长度的输出,称为散列值(Hash value)。这个过程通常被称为“散列”或“哈希”。

当我们使用散列函数时,需要了解以下基本概念:

  1. 输入数据:输入数据是指需要进行散列的数据,也称为消息或明文。输入数据可以是任意长度的二进制数据,例如文本、图像、音频等。
  2. 散列值:散列值是指散列函数对输入数据计算后得到的固定长度的二进制值。通常,散列值的长度固定为128、160、256、384或512位。散列值也称为哈希值。
  3. 散列函数的基本要求:散列函数需要满足以下三个基本要求:一致性、不可逆性和抗碰撞性。
  • <
评论 1559
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张彦峰ZYF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值