we are given two arrays the task is to find if the two arrays are equal or not. Two arrays are  equal if they have same set of elements.

Example 1:

```Input:
N = 5
A[] = {1,2,5,4,0}
B[] = {2,4,5,0,1}
Output: 1
Explanation: Both the array can be
rearranged to {0,1,2,4,5}
```

Example 2:

```Input:
N = 3
A[] = {1,2,5}
B[] = {2,4,15}
Output: 0
Explanation: A[] and B[] have only
one common value.```

method 1:

1)sort both the vectors

2)traverse through vector and compare the elements if any of the elements dont matchh than return 0

3)else return 1

c++ implementation:

```bool check(vector<ll> a, vector<ll> b, int n)
{
sort(a.begin(),a.end());
sort(b.begin(),b.end());

int x=0;
for(int i=0;i<n;i++)
{
if(a[i]!=b[x])
return 0;
x++;
}

return 1;
}```
Time Complexity: O(nlogn)
space Complexity: O(1)

method 2:
• Use a map or HashMap to store the frequency of elements.
• Increment frequencies of elements present in first array.
• Decrement frequencies of elements present in second array.
• Iterate over the map.
• If frequency of any element now is not zero it means that its count in two arrays was not equal.
• Return true or false.

c++ implementation:

```    bool check(vector<ll> a, vector<ll> b, int N)
{
unordered_map<ll,ll>m;
vector<int>::iterator i;        for(auto i=a.begin();i!=a.end();i++)
{
m[*i]++;

}

for(auto i=b.begin();i!=b.end();i++)
{
m[*i]--;

}

for(auto it=m.begin();it!=m.end();it++)
{
if(it->second!=0)
return 0;
}
return 1;
}```
Time Complexity: O(n)
space Complexity: O(n)

darkmode