// 1460. Make Two Arrays Equal by Reversing Sub-arrays
class Solution {
public boolean canBeEqual(int[] target, int[] arr) {
int[] quantityTarget = new int[1001];
int[] quantityArr = new int[1001];
for (int t : target) ++quantityTarget[t];
for (int a : arr) ++quantityArr[a];
for (int i = 0; i < 1001; ++i) {
if (quantityTarget[i] != quantityArr[i]) {
return false;
}
}
return true;
}
}
学习笔记:
这道题其实就是一个计数问题,可以用桶,可以用哈希表。
为什么元素一样,就可以排成一样的呢,我们可以想一下冒泡排序,就是不断交换两个相邻元素,达成某一种顺序,那么既然可以无限次翻转,那么只要元素一致一定存在方法翻过去。