--- ###### tags: `Leetcode` --- # Leetcode 1460. Make Two Arrays Equal by Reversing Subarrays [link](https://leetcode.com/problems/make-two-arrays-equal-by-reversing-subarrays/) --- You are given two integer arrays of equal length target and arr. In one step, you can select any non-empty subarray of arr and reverse it. You are allowed to make any number of steps. Return true if you can make arr equal to target or false otherwise. #### Example 1: Input: target = [1,2,3,4], arr = [2,4,1,3] Output: true Explanation: You can follow the next steps to convert arr to target: 1- Reverse subarray [2,4,1], arr becomes [1,4,2,3] 2- Reverse subarray [4,2], arr becomes [1,2,4,3] 3- Reverse subarray [4,3], arr becomes [1,2,3,4] There are multiple ways to convert arr to target, this is not the only way to do so. #### Example 2: Input: target = [7], arr = [7] Output: true Explanation: arr is equal to target without any reverses. #### Example 3: Input: target = [3,7,9], arr = [3,7,11] Output: false Explanation: arr does not have value 9 and it can never be converted to target. #### Constraints: - target.length == arr.length - 1 <= target.length <= 1000 - 1 <= target[i] <= 1000 - 1 <= arr[i] <= 1000 --- 題意: 判斷arr數組能否通過逆序操作變成target數組 --- We can sort each array and iterate each element in those two arrays. If we find the element that does not appear in another array, return false. #### Solution 1 ```python= class Solution: def canBeEqual(self, target: List[int], arr: List[int]) -> bool: target.sort() arr.sort() for t, a in zip(target, arr): if(t != a): return False return True ``` O(T): O(nlogn) O(S): O(1)