算法与数据结构 - 哈希表总结

2020/06/29

本文总结下哈希表相关的常见题目,还有一些心得体会:

第一点,一定要树立这样一种观念:

整数数组也可以充当哈希表。

举个例子,给你一个字符串,其中的字母都是小写字母,请统计每个字母出现的次数。

如果,你用HashTable,就像这样: HashMap<Character, Integer>

其中key代表字母,value代表字母出现的次数。

但是,由于上面的限制: 所有字母都是小写字母。

所以,我们完全可以使用一个长度为26的整数数组替代HashMap

int[] arr = new int[26];
for (char c: s.toCharArray()){
    arr[c - 'a']++;
}

第二点,通常做到这类题时,可以选择HashMap或者HashSet,有的时候都要用到。

那么,我们就要熟悉其中一些重要的方法:

  • HashMap.getOrDefault(x, 0)
  • HashMap.containsKey(x)
  • HashSet.add(x)

哈希表

同形异构


一位喜欢提问、尝试的程序员

(转载本站文章请注明作者和出处 姚屹晨-yaoyichen

Post Directory