描述:
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
給定 nums = [2, 7, 11, 15], target = 9思路一:暴力解法。可以先假設num是目標兩個數之一,則另乙個數就是target - num,在陣列中遍歷除了num之外的其他數,看是否與target - num 相等。可以提公升效率的是,num從陣列第i位開始遍歷,第二層迴圈從i + 1開始迴圈。此法時間複雜度因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
/**
* @param nums
* @param target
* @return
*/var twosum = function (nums, target) }}
}return [ind1, ind2]
};
思路二:可以用乙個temp陣列存放原nums陣列內的數的下標。以示例nums為例,nums[0] = 2,則temp[2] = 0。見**。
/**
* @param nums
* @param target
* @return
*//**
* @param nums
* @param target
* @return
*/var twosum = function (nums, target) else temp[nums[i]] = i //目標數沒有出現過,就將當前數的下標存進temp裡
}return
};
此法時間複雜度可以降 LeetCode系列 1 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
leetCode 系列 1 兩數之和
描述 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。1 使用暴力破解,雙重迴圈進行尋找兩遍,每乙個資料都被遍歷過,如下圖 所示,第一層遍歷找到剩...
LeetCode刷題系列 1 兩數之和
給定乙個整數陣列num s nums nums 和乙個目標值tar ge t target target 請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 tar...