Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm tổng các phần tử chung của hai mảng bằng C++

Mô tả bài toán

Cho hai mảng các giá trị duy nhất. Tính tổng các giá trị xuất hiện trong cả hai mảng (mỗi giá trị cộng 2 lần).

Ví dụ

arr1={5,4,9,2}, arr2={6,3,9,4} → Chung: 4,9 → Tổng = 4+4+9+9 = 26.

Giải thuật

Dùng unordered_map đếm tần suất. Duyệt cả hai mảng tăng đếm. Tổng các khóa có count==2, nhân 2.

Mã nguồn C++

#include <bits/stdc++.h>
using namespace std;

int findCommonValSum(int A[], int B[], int n) {
    unordered_map<int,int> freq;
    for (int i=0; i

Đầu ra

The sum of common values in the array are 26