LeetCode 1 Two Sum 解題報告

2022-02-11 01:49:03 字數 968 閱讀 3417

題意:

陣列nums中,有兩個元素的和是target,找出這兩個元素的位置。

思路:維護乙個map,用陣列的元素的值做key,用元素的位置做value。遍歷nums,對每個num來說,如果map[target - num] 有值的話,就返回map[target - num]和num的位置,如果沒有找到的話,就把num插入到map中,map[num] = index。時間複雜度o(nlogn)。

c++ code:

class

solution ;

return

result;

}map[nums[i]] = i + 1

; }

}};

python code:

class

solution(object):

deftwosum(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: list[int]

"""map ={}

for index,num in

enumerate(nums):

if target - num in

map:

return [map[target - num], index + 1]

map[num] = index + 1

js code:

/*

* * @param nums

* @param target

* @return */

var twosum = function

(nums, target)

for(i = 0; i < nums.length; i++)

map[nums[i]] = i + 1}

};

leetcode 1 two sum 雜湊查詢

題目 給乙個list,給乙個target.問list中哪兩個數的和為target.逐個求差.用map num index儲存資訊.不需要預先把所有的值都放到map中,因為遍歷到a的時候發現map裡面沒有b也沒關係,遍歷到b的時候a就已經在map裡了.class solution object def...

LeetCode 1 two sum 雙指標法

leetcode 1 two sum 給定乙個整數數列,找出其中和為特定值的那兩個數。你可以假設每個輸入都只會有一種答案,同樣的元素不能被重用。輸入陣列為亂序陣列,雙指標法,先拷貝輸入陣列進行公升序,從頭尾遍歷,相加比較,找到後通過遍歷輸出原陣列位置 void quicksort int list,...

LeetCode 1 Two Sum 兩數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 方法一 暴力法 暴力法很簡...