前置知识
掌握每种语言的基本数据类型及其时间复杂度。
- Python:list、tuple、set、dict
- C++:STL中的vector、set、map
- Java:集合类中的List、Set、Map
为什么是哈希?
在不同语言中,对于字典(dict)类的数据都会先将其键(key)进行哈希(Hash)运算,这个Hash值决定了键值对在内存中的存储位置,因此可以快速地查找对应的值(value)。而对于集合(Set)类的数据来说,在内存中只需要存入每个元素(element)的Hash值。
总结
两数之和 将 int 作为 dict 的 key。
字母异位词分组 将 str 作为 dict 的 key。
最长连续序列 将 int 作为 set 的 element。
对于这三道题来说,本质上就是要做到灵活运用 dict 和 set。这类数据类型除了能够高效编码外,还可以加快运行时间。最重要的是要熟练掌握以至把它看作一种像是 int、str 等最基本的数据结构。
标签:set,Hash,key,int,dict,哈希,Hot100,Leetcode From: https://www.cnblogs.com/Linx3f/p/18514553