<script>
// 入:nums = [2,7,11,15], target = 9
// 輸出:[0,1]
// 解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
// 思路一 使用 map 循環(huán)遍歷 看map中是否有符合的值 有就返回 沒有就存入 最后如果都沒有 返回[]
// const twoSum = function (nums, target) {
// let map = new Map()
// for (let i = 0; i < nums.length; i++) {
// const result = target - nums[i]
// if (map.has(result)) {
// return [map.get(result), i]
// } else {
// map.set(nums[i], i)
// }
// }
// return []
// };
// 思路二 雙層循環(huán) 暴力解法
// const twoSum = function (nums, target) {
// for (let i = 0; i < nums.length; i++) {
// for (let j = i + 1; j < nums.length; j++) {
// if (nums[i] + nums[j] == target) {
// return [i, j]
// }
// }
// }
// return []
// };
// 思路 三 雙指針 判斷兩個指針相加 是否為 目標值 ,是就返回索引,不是就繼續(xù)循環(huán) 指針+1如此往復
const twoSum = function (nums, target) {
let i = 0, j = 1, maxLength = nums.length - 1;
while (nums[i] + nums[j] != target) {
j++
if (j === maxLength) {
i++
j = i
}
}
return [i, j]
};
let result = twoSum([2, 7, 11, 15], 9)
console.log(result);
</script>
兩數(shù)之和
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 今天看了一道谷歌K數(shù)之和的算法題,忽然想起來之前在力扣上做過2、3、4數(shù)之和的題,覺得很有必要來整理一下。其實2、...
- 題目描述 整數(shù)數(shù)組中找出一組和為目標值的兩個整數(shù)(不能重復利用這個數(shù)組中同樣的元素),并返回他們的數(shù)組下標。 示例...
- 00001 兩數(shù)之和 題目描述 給定一個整數(shù)數(shù)組和一個目標值,找出數(shù)組中和為目標值的兩個數(shù)。 你可以假設每個輸入只...
- 1. 兩數(shù)之和 題目描述 給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那...
- 給定一個整數(shù)數(shù)組 nums 和一個目標值 target,請你在該數(shù)組中找出和為目標值的那兩個整數(shù),并返回他們的數(shù)組...