LeetCode 1460. 通过翻转子数组使两个数组相等

简介: 给你两个长度相同的整数数组 target 和 arr 。

网络异常,图片无法展示
|


题目


给你两个长度相同的整数数组 target 和 arr 。


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


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

 

示例 1:
输入:target = [1,2,3,4], arr = [2,4,1,3]
输出:true
解释:你可以按照如下步骤使 arr 变成 target:
1- 翻转子数组 [2,4,1] ,arr 变成 [1,4,2,3]
2- 翻转子数组 [4,2] ,arr 变成 [1,2,4,3]
3- 翻转子数组 [4,3] ,arr 变成 [1,2,3,4]
上述方法并不是唯一的,还存在多种将 arr 变成 target 的方法。
示例 2:
输入:target = [7], arr = [7]
输出:true
解释:arr 不需要做任何翻转已经与 target 相等。
示例 3:
输入:target = [1,12], arr = [12,1]
输出:true
示例 4:
输入:target = [3,7,9], arr = [3,7,11]
输出:false
解释:arr 没有数字 9 ,所以无论如何也无法变成 target 。
示例 5:
输入:target = [1,1,1,1,1], arr = [1,1,1,1,1]
输出:true


提示:


target.length == arr.length 1 <= target.length <= 1000 1 <= target[i] <= 1000 1 <= arr[i] <= 1000


解题思路


class Solution:
    def canBeEqual(self, target: List[int], arr: List[int]) -> bool:
        # 因为不统计翻转次数,所以只要排序后顺序一样就行了
        target.sort()
        arr.sort()
        if target == arr:
            return True
        else:
            return False
if __name__ == '__main__':
    target = [1,2,3,4]
    arr = [2,4,1,3]
    target = [3, 7, 9]
    arr = [3, 7, 11]
    ret = Solution().canBeEqual(target, arr)
    print(ret)
目录
相关文章
|
5天前
|
算法
leetcode代码记录(寻找两个正序数组的中位数
leetcode代码记录(寻找两个正序数组的中位数
13 2
|
5天前
|
索引
leetcode代码记录(最长重复子数组
leetcode代码记录(最长重复子数组
12 0
|
5天前
leetcode代码记录(两个数组的交集
leetcode代码记录(两个数组的交集
9 1
|
5天前
leetcode代码记录(最大子数组和
leetcode代码记录(最大子数组和
11 2
|
5天前
leetcode代码记录(翻转二叉树
leetcode代码记录(翻转二叉树
8 0
|
5天前
leetcode代码记录(长度最小的子数组
leetcode代码记录(长度最小的子数组
11 0
|
5天前
|
存储 算法
Leetcode 30天高效刷数据结构和算法 Day1 两数之和 —— 无序数组
给定一个无序整数数组和目标值,找出数组中和为目标值的两个数的下标。要求不重复且可按任意顺序返回。示例:输入nums = [2,7,11,15], target = 9,输出[0,1]。暴力解法时间复杂度O(n²),优化解法利用哈希表实现,时间复杂度O(n)。
22 0
|
5天前
|
索引
Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引
Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引
|
5天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
9 0
|
5天前
|
算法 索引
【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串
经过这两道题目的书写,相信大家一定深刻认识到了滑动窗口的使用方法!!! 下面请大家继续刷题吧!!!
12 0