其他分享
首页 > 其他分享> > Leetcode1460 通过反转子数组使两个数组相等

Leetcode1460 通过反转子数组使两个数组相等

作者:互联网

Leetcode1460 通过反转子数组使两个数组相等

题意

给你两个长度相同的整数数组targetarr

每一步中,你可以选择arr的任意非空子数组并将它翻转。你可以执行此过程任意次。

如果你能让arr变得与target相同,返回True;否则,返回False

解题思路

  由于可以翻转任意长度的子数组,且不限次数。想到冒泡排序的过程,对于每一个元素都可以经过两两翻转出现在数组任意位置,那么问题就变成了判断两个数组的元素是否相同。

代码
class Solution {
    public boolean canBeEqual(int[] target, int[] arr) {
        Arrays.sort(target);
        Arrays.sort(arr);

        int len = target.length;
        for (int i = 0; i < len; i++)
            if (target[i] != arr[i]) return false;
        return true;
    }
}

标签:arr,数组,int,转子,Leetcode1460,翻转,任意,target
来源: https://blog.csdn.net/qq_36258516/article/details/120612221