import java.util.HashMap; import java.util.Map; public class MakeTwoArraysEqualByReversingSubArrays { public boolean canBeEqual(int[] target, int[] array) { Map targetFrequencies = getFrequencies(target); Map arrayFrequencies = getFrequencies(array); return targetFrequencies.equals(arrayFrequencies); } private Map getFrequencies(int[] array) { Map frequencies = new HashMap<>(); for (int element : array) { frequencies.put(element, frequencies.getOrDefault(element, 0) + 1); } return frequencies; } }