兩數之和(暴力解法 優化)

2021-10-19 03:54:34 字數 1193 閱讀 1111

這題目有點奇怪,我們都知道陣列元素下標是從0開始的。它題目應該返回1,2,才是代表2+4=6,不管那麼多,明白它需求的意思就開始分析思路

思路很簡單:

(1)迴圈遍歷所有元素

(2)拿著每一元素與目標值做差

(3)在剩餘的元素裡面找是否有剛好等於那個差值的

(4)記錄兩個下標返回

(5)如果不存在,返回null

public

static

void

main

(string[

] args)

;int

result =

twosum

(array,5)

; system.out.

println

(arrays.

tostring

(result));

}private

static

int[

]twosum

(int

array,

int target);}

}}return null;

}

target是5

target換成6

思路講解:每乙個元素跟目標值都會有乙個差值,那麼我們就先計算出這個差值,把差值作為key,當前元素的下標作為value存在乙個map中,等迴圈到array[i]元素恰好是差值的時候,就直接返回兩個下標。

兩數之和 c Dictionary 解法

方法一 最簡單的暴力兩層迴圈 看了題目,最先想到的是,只要進行兩層迴圈,對所有的數字進行一次相加,當和為target時,將兩個值的index返回即可。public int twosum int nums,int target return indexs 執行結果,執行用時 480ms,記憶體消耗 2...

兩數之和(Python and C 解法)

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所...

LeetCode 三數之和 優化解法

題目 給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 最開始做的解法...