-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCheck-if-two-arrays-are-equal-or-not.py
54 lines (46 loc) · 1.4 KB
/
Check-if-two-arrays-are-equal-or-not.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
'''
Given two arrays A and B of equal size N, the task is to find if given arrays are equal or not. Two arrays are said to be equal if both of them contain same set of elements, arrangements (or permutation) of elements may be different though.
Note : If there are repetitions, then counts of repeated elements must also be same for two array to be equal.
Input:
The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains 3 lines of input. The first line contains an integer N denoting the size of the array. The second line contains element of array A[]. The third line contains elements of the array B[].
Output:
For each test case, print 1 if the arrays are equal else print 0.
Constraints:
1<=T<=100
1<=N<=107
1<=A[],B[]<=1018
Example:
Input:
2
5
1 2 5 4 0
2 4 5 0 1
3
1 2 5
2 4 15
Output:
1
0
Explanation:
Testcase1:
Input : A[] = {1, 2, 5, 4, 0}; B[] = {2, 4, 5, 0, 1};
Output : 1
Testcase2:
Input : A[] = {1, 2, 5}; B[] = {2, 4, 15};
Output : 0
'''
def equal(arr1, arr2):
res = sum1 = sum2 = 0
for i in range(len(arr1)):
res ^= arr1[i]
res ^= arr2[i]
sum1 += arr1[i]
sum2 += arr2[i]
return 1 if not res and sum1 == sum2 else 0
t = int(input())
while t > 0:
n = int(input())
arr1 = list(map(int, input().split()))
arr2 = list(map(int, input().split()))
print(equal(arr1, arr2))
t -= 1