打印所有和为给定值的唯一数对

打印所有和为给定值的唯一数对

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

给定整数数组和目标和,找出所有和为目标值的唯一数对。方法一:排序数组后用双指针法找数对,避免重复。方法二:用哈希表记录元素频率,检查补数是否已出现,避免重复。时间复杂度分别为O(NlogN)和O(N)。

🎯

关键要点

  • 给定整数数组和目标和,找出所有和为目标值的唯一数对。

  • 方法一:排序数组后用双指针法找数对,避免重复。

  • 双指针法步骤:1. 排序数组;2. 使用两个指针分别从数组两端开始;3. 根据和的大小调整指针位置;4. 跳过重复元素。

  • 时间复杂度为O(NlogN)。

  • 方法二:使用哈希表记录元素频率,检查补数是否已出现,避免重复。

  • 哈希表法步骤:1. 创建哈希表存储元素及其频率;2. 遍历元素,查找补数;3. 根据频率判断是否打印数对;4. 更新哈希表。

  • 时间复杂度为O(N),空间复杂度为O(N)。

➡️

继续阅读