💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
给定整数数组和目标和,找出所有和为目标值的唯一数对。方法一:排序数组后用双指针法找数对,避免重复。方法二:用哈希表记录元素频率,检查补数是否已出现,避免重复。时间复杂度分别为O(NlogN)和O(N)。
🎯
关键要点
-
给定整数数组和目标和,找出所有和为目标值的唯一数对。
-
方法一:排序数组后用双指针法找数对,避免重复。
-
双指针法步骤:1. 排序数组;2. 使用两个指针分别从数组两端开始;3. 根据和的大小调整指针位置;4. 跳过重复元素。
-
时间复杂度为O(NlogN)。
-
方法二:使用哈希表记录元素频率,检查补数是否已出现,避免重复。
-
哈希表法步骤:1. 创建哈希表存储元素及其频率;2. 遍历元素,查找补数;3. 根据频率判断是否打印数对;4. 更新哈希表。
-
时间复杂度为O(N),空间复杂度为O(N)。
➡️