#1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。
示例:
給定 nums = [2, 7, 11, 15], target = 92.1、標準庫型別 vector: 物件的集合,其中所有物件型別都相同。因為 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]
// 標頭檔案
#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 題目中包含負數,之前想用數值直接表示陣列下標,陣列值為原來的真正陣列下標,但...