LeetCode in JavaScript#1 Two Sum

Leetcode Two Sum

Solution1

简单粗暴地遍历所有情况

var twoSum = function(nums, target) {
    var i,len = nums.length;
    for (i=0;i

时间复杂度 O(n^2)
空间复杂度 O(1)

Solution2

将js对象当做hashtable来使用,key是数组元素的值,value是数组元素的索引,只遍历一次数组,每次先查找哈希表中是否有匹配的元素,如果没有就将现有元素添加进哈希表中

var twoSum = function(nums, target) {
    var i,j,len = nums.length;
    var hash = {};
    for (i=0;i

时间复杂度 O(n)
空间复杂度 O(n)

你可能感兴趣的:(LeetCode in JavaScript#1 Two Sum)