[Notes] Hashmap

Posted by 西维蜀黍的OJ Blog on 2023-09-08, Last Modified on 2024-02-01

解析

Hashmap

128. Longest Consecutive Sequence

  • 用一个set 记下所有存在的元素,然后遍历set,

    • 如果当前元素-1不存在于set中,说明当前元素是一个sequence的开头,然后往后遍历,直到当前元素+1不存在于set中,说明当前元素是一个sequence的结尾,然后更新最大长度
    • 如果当前元素-1存在于set中,说明当前元素不是一个sequence的开头,因此跳过该元素
  • ref

217. Contains Duplicate

def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""

	my_set = set()
	for num in nums:
		if num in my_set:
			return True
		my_set.add(num)
	return False
  • 先判断是否存在于set中,如果不存在,再加入到set中

347. Top K Frequent Elements