
[STLC++_Map] mergeProducts
Đề bài:
Cho danh sách các sản phẩm của 2 kho hàng A
và B
. Do chiến lược kinh doanh bạn được giao nhiệm nhập các sản phẩm từ kho B
vào kho A
sao cho những sản phẩm nào đã có trong kho A
thì không nhập.
Ví dụ:
- Với
A = ["Banana", "Banana", "Apple"]
,B = ["Orange", "Apple", "Orange", "Watermelon"]
,
thìmergeProducts(A, B) = [true, false, false, true]
.
Lưu ý: Sản phẩm thứ 3 trong kho B
là "Orange"
sẽ không được nhập vì trong kho A
đã có một sản phẩm như vậy.
Hướng dẫn.
Dùng hàm find() để kiểm tra sử xuất hiện của phần tử.
vector<int> mergeProducts(vector<string> A, vector<string> B){
map <string, int> cnt;
for (auto x : A)
{
cnt[x]++;
}
vector <int> ans;
for (auto x : B)
{
if (cnt[x] == 0)
{
ans.push_back(true);
cnt[x]++;
} else {
ans.push_back(false);
}
}
return ans;
}
Post Comment