Advertisement
1460. Make Two Arrays Equal by Reversing Subarrays
UnknownView on LeetCode
1460.cs
C#
public class Solution
{
public bool CanBeEqual(int[] target, int[] arr)
{
var map1 = new Dictionary<int, int>();
var map2 = new Dictionary<int, int>();
foreach (int val in arr)
map1[val] = map1.ContainsKey(val) ? ++map1[val] : 1;
foreach (int val in target)
map2[val] = map2.ContainsKey(val) ? ++map2[val] : 1;
if (map1.Count != map2.Count)
return false;
for (int i = 0; i < map1.Count; i++)
{
KeyValuePair<int, int> kvp = map1.ElementAt(i);
if (!map2.ContainsKey(kvp.Key))
return false;
int val = map2[kvp.Key];
if (kvp.Value != val)
return false;
}
return true;
}
}Advertisement