//存放輸出下標的陣列
int indexs=new int[2];
//建立雜湊表,key 和value都為integer
hashmaphash=new hashmap();
for(int i=0;i1.在給定陣列nums中,找兩數之和為target,並返回兩數的在陣列中的下標。
2.建立hashmap,利用put方法,key為補數即target-nums[i] ,value為下標。若輸入:[3,2,4] 6 ,則建立的hashmap為:
nums32
4key34
2value01
23.利用for迴圈和containskey方法以nums為key查詢hashmap,注意查詢時是在整個雜湊表中來查詢。因此有乙個很關鍵的問題,在for迴圈中是先查詢再把補數放進雜湊表中。因為,查詢的前提是雜湊表中至少含有兩個數,同時查詢的時候是排除當前nums[i]來去查詢雜湊表。
4.建立indexs陣列,輸出兩數之和為target的下標。
演算法 兩數之和,三數之和
給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 leetcode 思路 兩層for迴圈時間複雜度是o ...
演算法 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
演算法 兩數之和
問題描述 給定乙個整數陣列nums和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...