哈希表
又稱為「雜湊表(hash table)」
簡單來說就是班上的座號,我們對「哈希函數」輸入座號,就可以得到名字
來看例題
https://leetcode.com/problems/two-sum/description/
題目:
給定一個整數數組nums 和一個整數target,
傳回兩個數字的索引,使它們相加為target。您可以假設每個輸入都有一個解決方案,並且您不能兩次使用相同的元素。
您可以按任意順序返回答案。
code
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int,int>mp;
vector<int>ans;
int n=nums.size();
for(int i=0;i<n;i++){
int x;
x=nums[i];
//cout<<":"<<target-x<<nn;
if(mp.find(target-x)!=mp.end()){
ans.push_back(mp[target-x]);
ans.push_back(i);
return ans;
}
else{
mp[x]=i;
}
}
return ans;
}
};
這邊的map就是將數值映射到index