摘要:題意給定一個整數(shù)數(shù)組和一個目標(biāo)值,請你在該數(shù)組中找出和為目標(biāo)值的那兩個整數(shù),并返回他們的數(shù)組下標(biāo)。也就是說,字典里記錄的是每個數(shù)據(jù)希望找到的另一半的值的大小。返回這兩個下標(biāo)就行,如果沒有存在于字典里,那么繼續(xù)存入字典。
題意:
給定一個整數(shù)數(shù)組 nums 和一個目標(biāo)值 target,請你在該數(shù)組中找出和為目標(biāo)值的那 兩個 整數(shù),并返回他們的數(shù)組下標(biāo)。
你可以假設(shè)每種輸入只會對應(yīng)一個答案。但是,你不能重復(fù)利用這個數(shù)組中同樣的元素。
示例:給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]思路:
只掃描一遍數(shù)組,使用額外的一個字典,一邊掃一邊記錄相關(guān)的數(shù)據(jù),不過不是記錄數(shù)據(jù)本身,而是記錄的目標(biāo)值-當(dāng)前值,我們可以稱之為對象值。
也就是說,字典里記錄的是:每個數(shù)據(jù)希望找到的“另一半的”值的大小。所以字典的key是“目標(biāo)值-該位置的值”,字典的value是該位置的下標(biāo)。
那么再往后掃描,如果掃描到的值出現(xiàn)在這個字典里,說明這個值是之前某個位置上期待的另一半。返回這兩個下標(biāo)就行,如果沒有存在于字典里,那么繼續(xù)存入字典。
JavaScript解法:/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { for(let i=0; ii){ return [i,endIndex]; } } return [] }
恭喜你,又掌握了一個新技能~
歡迎關(guān)注公眾號【前端FE】
了解更多前端技巧~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105783.html
摘要:解法返回目錄解題代碼執(zhí)行測試解題思路使用雙重循環(huán)破解。解法返回目錄解題代碼執(zhí)行測試知識點遍歷數(shù)組,返回遍歷項,返回當(dāng)前索引。 Create by jsliang on 2019-05-16 22:19:13 Recently revised in 2019-05-17 14:22:40 Hello 小伙伴們,如果覺得本文還不錯,記得給個 star , 小伙伴們的 star 是我持續(xù)更新的動...
摘要:給定表,存在函數(shù),對任意給定的關(guān)鍵字值,代入函數(shù)后若能得到包含該關(guān)鍵字的記錄在表中的地址,則稱表為哈希表,函數(shù)為哈希函數(shù)。而中的對象就是基于哈希表結(jié)構(gòu),所以我們構(gòu)造一個對象即可,是當(dāng)前遍歷到的值,是其與目標(biāo)值的差。 大部分玩前端的小伙伴,在算法上都相對要薄弱些,畢竟調(diào)樣式、調(diào)兼容就夠掉頭發(fā)的了,哪還有多余的頭發(fā)再去折騰。 確實在前端中需要使用到算法的地方是比較少,但若要往高級方向發(fā)展,...
摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。函數(shù)應(yīng)該返回這兩個下標(biāo)值和,其中必須小于。示例輸入輸出解釋與之和等于目標(biāo)數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。 函數(shù)應(yīng)該返回這兩個下標(biāo)值 index1 和 index2,其中 index1 必須小于 index2。...
摘要:公眾號愛寫給定一個已按照升序排列的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。函數(shù)應(yīng)該返回這兩個下標(biāo)值和,其中必須小于。示例輸入輸出解釋與之和等于目標(biāo)數(shù)。 公眾號: 愛寫bug(ID:icodebugs) 給定一個已按照升序排列 的有序數(shù)組,找到兩個數(shù)使得它們相加之和等于目標(biāo)數(shù)。 函數(shù)應(yīng)該返回這兩個下標(biāo)值 index1 和 index2,其中 index1 必須小于 index2。...
閱讀 3443·2021-11-22 09:34
閱讀 1910·2019-08-30 12:53
閱讀 3505·2019-08-28 18:07
閱讀 2991·2019-08-27 10:55
閱讀 2969·2019-08-26 10:12
閱讀 3602·2019-08-23 18:21
閱讀 1352·2019-08-23 14:10
閱讀 1490·2019-08-23 13:04