首页 > 其他分享 >1460. 通过翻转子数组使两个数组相等

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

时间:2022-08-24 00:55:59浏览次数:68  
标签:count arr target 示例 数组 1460 翻转

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

给你两个长度相同的整数数组 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 = [3,7,9], arr = [3,7,11]
输出:false
解释:arr 没有数字 9 ,所以无论如何也无法变成 target 。

 

提示:

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

思路和力扣第一题一样,也是利用map的不可重复性,确定两数组是否一致

func canBeEqual(target, arr []int) bool {
    count := make(map[int]int)
    for i,v := range target {
        count[v]++
        count[arr[i]]--
    }
    for _,c := range count {
        if c != 0 {
            return false
        }
    }
    return true
}

 

标签:count,arr,target,示例,数组,1460,翻转
From: https://www.cnblogs.com/fulaien/p/16618389.html

相关文章

  • JS基础:数组、函数、对象
    字符串要用英文双引号括起来。字符串与其他类型数据之间用加号+连接起来//--------------------------------------------------------JS中定义声明变量是用关键字var,J......
  • 合并两个有序数组
    目录题目描述方法一:解题思路解题代码方法二:解题思路解题代码题目描述题目地址:https://leetcode.cn/problems/merge-sorted-array/题目要求给你两个按非递减顺序排列的......
  • leetcode 697. Degree of an Array 数组的度(简单)
    一、题目大意https://leetcode.cn/problems/degree-of-an-array给定一个非空且只包含非负数的整数数组nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的......
  • 数组
    数组存储一堆数据得集合,这一堆数据的数据类型是一致的语法:数据类型[]数组名称=new数据类型[长度];显式数组数据类型[]数组名称={值1,值2,值3......};......
  • 数字和字符串 与 数组 使用实例方法时的差别
    在数字和字符串中的实例方法不会改变其本身的值;而数组对象可能会改变原数组的值;从此延申出一个问题?......
  • 【Java基础】数组中的异常:下标越界和空指针异常
    编译时都不会报错。1.数组下标越界java.lang.ArrayIndexOutOfBoundsException//下标越界int[]arr=newint[]{1,2,3,4,5};for(inti=0;......
  • 【Java基础】操作数组的工具类Arrays
    1.常用方法方法描述booleanequals(int[]a,int[]b)判断两个数组是否相等,顺序不一样也返回falseStringtoString(int[]a)输出数组信息voidfill(int[]......
  • 【Java基础】数组中的常见算法:二分查找算法
    1.实现二分查找算法要求数组必须是有序的。把中间的值和要查询的值进行比较,相等则返回索引下标arr[middle]>number,则让尾索引等于middle-1,arr[middle]<number,则让开始......
  • js判断数组中是否有重复的数据
     一、普通数据constarr=['111','222','333','444','555'];//判断数组元素是否有重复getisRepeat:function(arr){varhash={};......
  • filter 加 indexOf 方法去重数组
    letarr=[1,2,3,4,3,2,3,4,6,7,6]letunique=(arr)=>{console.log(arr)returnarr.filter((item,index)=>{//......