剑指offer刷题记录52--和位S的两个数字

剑指offer刷题记录52--和位S的两个数字
解法1 字典法(哈希)

用字典存储已经遍历的数字,如果target-i在字典中,则直接返回[i, target-i], i 为当前遍历到的数字。

时间复杂度O(N),空间复杂度O(N)
剑指offer刷题记录52--和位S的两个数字
解法二 双指针
剑指offer刷题记录52--和位S的两个数字
代码如下
剑指offer刷题记录52--和位S的两个数字
时间复杂度:O(N) N为数组nums 的长度,双指针共同遍历整个数组。

空间复杂度O(1):变量i,j使用常数大小的额外空间。