漫画:如何在数组中找到和为 “特定值” 的三个数?(力扣LCR 007. 三数之和 的扩展:双指针法,也称“夹逼法”)
在上面的代码中,每一轮解决“两数之和问题”的时间复杂度是O(n),一共迭代n轮,所以该解法总的时间复杂度是O(n)。至于空间复杂度,同一个哈希表被反复构建,哈希表中最多有n-1个键值对,所以该解法的空间复杂度是O(n)。最关键的是,该解法并没有使用额外的集合(排序是直接在输入数组上进行的),所以空间复杂度只有O(1)!第1轮,访问数组的第1个元素1,把问题转化成从后面元素中找出和为12(13-1)的两个数。第2轮,访问数组的第2个元素2,把问题转化成从后面元素中找出和为11(13-2)的两个数。
原创
2023-08-16 09:42:14 ·
133 阅读 ·
1 评论