01 兩數之和

2021-09-25 23:58:39 字數 1124 閱讀 4107

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

返回的是 [0 , 1] 兩個元素在原來陣列中的位置。

將輸入陣列,進行乙個從小到大排序,然後從陣列兩端值(left 與 right)開始進行相加,

若和小於目標值,陣列left++,指向下乙個較大的值,

若和大於目標值,陣列right–,指向下乙個較小的值。

#include 

#include

#include

using namespace std;

int main()

cin >> e;

target = e;

// 求和為target的兩元素的下標。

int len = arr.

size()

; int left =

0, right = len -1;

vector

back

(arr)

;// 複製原來的陣列到back中。

sort

(arr.

begin()

, arr.

end())

;// 1、首先對原輸入陣列進行排序。從小到大

while

(arr[left]

+arr[right]

!= target)

// 若兩元素相加不等於目標值,觀察大於目標值還是小於目標值

vector res;

for(int i =

0; i < len; i++

)for

(int i =

0; i <

2; i++

)//輸出結果

return0;

}

測試輸出結果:

01 兩數之和

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

01 兩數之和

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

LeetCode 兩數之和 01

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