Daily LeetCode – day0026 1460. Make Two Arrays Equal by Reversing Sub-arrays

// 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;
    }
}
学习笔记:
这道题其实就是一个计数问题,可以用桶,可以用哈希表。
为什么元素一样,就可以排成一样的呢,我们可以想一下冒泡排序,就是不断交换两个相邻元素,达成某一种顺序,那么既然可以无限次翻转,那么只要元素一致一定存在方法翻过去。


关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注