目录
一、背景知识
二、应用举例
(一)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)。这个过程通常被称为“散列”或“哈希”。
当我们使用散列函数时,需要了解以下基本概念:
- 输入数据:输入数据是指需要进行散列的数据,也称为消息或明文。输入数据可以是任意长度的二进制数据,例如文本、图像、音频等。
- 散列值:散列值是指散列函数对输入数据计算后得到的固定长度的二进制值。通常,散列值的长度固定为128、160、256、384或512位。散列值也称为哈希值。
- 散列函数的基本要求:散列函数需要满足以下三个基本要求:一致性、不可逆性和抗碰撞性。
- <