【发布时间】:2022-01-04 17:07:51
【问题描述】:
假设我有一个数组1 2 1 2 3 4 2 1,我想将所有(arr[i], arr[i-1) 存储为arr[i] != arr[i-1] 作为一对在unordered_map 中用于计算这些对。
例如
(1, 2) -> 2
(2, 3) -> 1
(3, 4) -> 1
(4, 2) -> 1
(2, 1) -> 1
所以我尝试的语法,
unordered_map<pair<int, int>, int> umap;
int temp;
cin>>temp;
arr[i]=temp;
for (int i=1; i< n; i++){
cin>>temp;
arr[i]=temp;
umap[(arr[i-1], arr[i])]++;
}
接下来,我也尝试了正确的定义。
unordered_map<pair<int, int>, int> umap;
cin>>temp;
arr[i]=temp;
for (int i=1; i< n; i++){
cin>>temp;
arr[i]=temp;
pair<int, int> p(arr[i-1], arr[i]);
umap[p]++;
}
谁能帮我找到正确的语法?
【问题讨论】: