LeetCode-两数之和
原题链接:1. 两数之和 - 力扣(LeetCode)
最容易想到的就是通过两个for循环遍历数组中两两配对的情况,并挨个判断是否相加等于目标值,时间复杂度O(n^2),空间复杂度O(1)
换种思路,这其实就是在一个数组中找到target - x 的值对应的下标,那么我们可以通过一个哈希表将查找O(n)降至O(1),在遍历到一个数先查找哈希表中是否已经存在,是则返回结果,否则存入当前数,经优化时间复杂度O(n),空间复杂度O(n)
原题链接:1. 两数之和 - 力扣(LeetCode)
最容易想到的就是通过两个for循环遍历数组中两两配对的情况,并挨个判断是否相加等于目标值,时间复杂度O(n^2),空间复杂度O(1)
换种思路,这其实就是在一个数组中找到target - x 的值对应的下标,那么我们可以通过一个哈希表将查找O(n)降至O(1),在遍历到一个数先查找哈希表中是否已经存在,是则返回结果,否则存入当前数,经优化时间复杂度O(n),空间复杂度O(n)