LeetCode系列 1 兩數之和

2021-10-03 04:57:49 字數 958 閱讀 1004

描述:

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

思路一:暴力解法。可以先假設num是目標兩個數之一,則另乙個數就是target - num,在陣列中遍歷除了num之外的其他數,看是否與target - num 相等。可以提公升效率的是,num從陣列第i位開始遍歷,第二層迴圈從i + 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...