leetcode 1 兩數之和(C )

2021-10-07 19:23:30 字數 1687 閱讀 2294

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

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。

示例:

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

因為 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]

2.1、標準庫型別 vector: 物件的集合,其中所有物件型別都相同。
// 標頭檔案

#include

using std::vector;

// vector模板建立

// 具體格式: vector《元素型別》名字

vector<

int>ivec;

// ivec儲存int型別的物件

//列表初始化 只能放在 花括號裡

vector v1

;// 值初始化

vector<

int>

ivec(10

);// 10個元素,預設0

// 元素新增i=0

;ivec.

push_back

(i);

// 其它操作

ivec.

empty()

// 不含元素,返回 真,否則,假

ivec.

size()

//返回元素個數

2.2、 關聯容器型別 map ,關聯陣列:關鍵字-值對的集合

當map中提取乙個元素時候,會得到乙個pair型別的物件,它使用first成員儲存關鍵字second成員儲存對應的pair的標準庫型別定義在標頭檔案utility中。

成員(1)map. count(k),返回的是關鍵字為 k 元素 的個數。如果有,返回1;否則,返回0。

注意,map中不存在相同元素,所以返回值只能是1或0。

(2)map. find(k),返回的是第乙個關鍵字為 k 元素的位置 (迭代器),沒有則返回map.end() (尾後迭代器)

(3)map. insert, 對map新增元素,元素型別必須是pair型別。

3.1 兩遍雜湊表

class

solution

for(

int i=

0;isize()

;++i)

}return vec;}}

;

3.2一遍雜湊表
class

solution

;// 若 num[i]對應t 不存在,則將資料(num[i]值 與 索引i)存入表中

hash[nums[i]

]=i;

}return vector<

int>;}

};

leetcode 1 兩數之和 C

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

LeetCode 1 兩數之和

給定乙個整數數列,找出其中和為特定值的那兩個數。你可以假設每個輸入都只會有一種答案,同樣的元素不能被重用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 step 1 class solution object def tw...

leetcode 1 兩數之和

1.兩數之和 這道題和程式設計之法上面的題目有以下幾個不同 1 題目所給定的陣列是無序的,程式設計之法裡面是預設有序的 2 要求輸出原陣列的序號,如果用乙個結構體維護陣列下標,那麼需要o n 的空間,顯然不是最好的方法 3 題目中包含負數,之前想用數值直接表示陣列下標,陣列值為原來的真正陣列下標,但...