Map雜湊表鍵值對高效查詢兩數之和

2021-10-10 07:48:29 字數 985 閱讀 7719

題目描述:給定乙個整型陣列nums[ ]和乙個目標值target,要求找到陣列中兩數之和為target的下標。

遍歷當前nums[ ]陣列。

如果target - nums[i]的值不在雜湊表中,將nums[ ] 中的值和對應的下標存在雜湊表中。

直到在雜湊表中找到,或者遍歷完陣列退出。

步驟用nums = ,target = 10 為例

遍歷陣列第乙個元素。target - 3 = 7。雜湊表中沒有鍵為7的,所以將當前值3和對應的下標0存在雜湊表中。

遍歷第二個元素6.target - 6 = 4。雜湊表中沒有,存入。

遍歷第三個元素9。target - 9 = 1,雜湊表中沒有,存入。

遍歷第四個元素4。target - 4 = 10,此時我們發現,雜湊表中有乙個鍵值對為的值,這就表明,我們之前遍歷過的元素6和當前正在遍歷的元素4的和剛好為target值10。此時,我們也就找到了。

此時不需要再存入雜湊表了,直接返回當前遍歷的元素下標和獲取到雜湊表中鍵為6的對應的值,也就是6對應的下標即可。

**:

class

solution;}

//不存在,則value和下標做鍵值對存入

map.

put(nums[i]

,i);

}throw

newillegalargumentexception

(" ");

}}

注意:因為直接返回的找到後的陣列下標,如果沒找到,應該丟擲乙個異常。否則會編譯出錯。

C 初學25 Hashtable雜湊表(鍵值對)

static void main string args 判斷乙個集合中是否存在某個鍵 if hash.containskey xyz 判斷鍵值對中是否存在某個值 if hash.containsvalue 飛機 根據鍵獲取值 console.writeline hash 1 tostring pe...

map刪除鍵值對的簡單方法 雜湊的簡單實現

我記得在做力扣第一題兩數之和的時候,就用到了雜湊表。很多地方會用到雜湊表,令我印象深刻的乙個地方就是我有一次計算概率題,計算出來的值要成為索引,但當時我並不會雜湊表,就使用了陣列實現,那個給我造成了挺大的麻煩。好吧說了這麼多,開始正題。舉個例子,就像乙個字典,字典的每個字都有乙個編號,然後我們可以通...

jpa中將查詢的字段返回為Map鍵值對型別

由於最近的乙個專案技術選型用了jpa,在使用過程中,感覺jpa對map這種型別著實有點不相容。問題 只想查詢表中個別字段,並將這些字段封裝為鍵值對map的形式返回給前端 如果對返回的結果不做任何處理,返回的結果是這樣的 1,張三 2,李四 3,王二 但是,這明顯不是我想要的結果,我理想中的結果應該是...