Leetcode1460 通过反转子数组使两个数组相等
作者:互联网
Leetcode1460 通过反转子数组使两个数组相等
题意
给你两个长度相同的整数数组target
和arr
。
每一步中,你可以选择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