终于,我回到了梦开始的地方,leetcode第1题两数之和。
如果说有那一道题确立了leetcode的高度,那必然就是这道两数之和。
当我们作为一个只会基础语法的小白,我们能想到的便是暴力遍历,但这道题使用暴力遍历的时间复杂度为n^2。
那有什么办法可以降低复杂度到n呢?没错,我们需要使用散列表。
哈希表通过哈希函数可以计算目标减去当前数的键是否存在。
不存在则添加进哈希表,键为当前数,值为索引号。
存在则输出表中键的值和当前索引号。
终于,我回到了梦开始的地方,leetcode第1题两数之和。
如果说有那一道题确立了leetcode的高度,那必然就是这道两数之和。
当我们作为一个只会基础语法的小白,我们能想到的便是暴力遍历,但这道题使用暴力遍历的时间复杂度为n^2。
那有什么办法可以降低复杂度到n呢?没错,我们需要使用散列表。
哈希表通过哈希函数可以计算目标减去当前数的键是否存在。
不存在则添加进哈希表,键为当前数,值为索引号。
存在则输出表中键的值和当前索引号。