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

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

时间:2022-08-25 22:58:52浏览次数:78  
标签:arr 相等 两个 target int 数组 翻转

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

一、题目描述

给定两个相同的非空整数数组,将其中一个数组翻转任意次可以得到两个相同的数组,则返回true否则返回false。

实例1

输入:targer = [1,2,3,4]; arr = [2,3,1,4];
输出:true

实例2

输入:targer = [1,2,3,4]; arr = [2,3,1,11];
输出:false

二、题目分许

首先是两个数组长度相等,不许要考虑长度问题。分析问题发现,只需要判断两个数组中的元素是否相等即可。

三、解题思路

方法1
可以通过对两个数组进行排序。排序后再对两个数组进行比较即可。
代码实现:

class Solution {
    public boolean canBeEqual(int[] target, int[] arr) {

        Arrays.sort(target);
        Arrays.sort(arr);
        
        return Arrays.equals(target,arr);
    }
}

方法2
可以通过计算每个数组中各个元素出现的频率。再对比后,查看数组是否相等。

1、创建一个固定长度的数组。

2、循环遍历两个数组。其中先将一个数组中没个元素的值作为新创建数组的索引,并将该索引上的值加一,将另一个数组上的遍历,数组中每一个元素作为新数组索引,并将该数组的值减一

3、如果两数组中的值相同,则新数组中的每一个元素都是0;若不为零,则返回false。
代码实现

public boolean canBeEqual(int[] target, int[] arr) {

        int[] list = new int[1001];
        for(int i = 0; i<arr.length ;i++){
            list[target[i]]++;
            list[arr[i]]--;
        }

        return Arrays.equals(list,new int[1001]);
        
        
    }

标签:arr,相等,两个,target,int,数组,翻转
From: https://www.cnblogs.com/zjjtt/p/16626034.html

相关文章

  • 519. 随机翻转矩阵 (hash 映射移动到最后)
     难度中等143收藏分享切换为英文接收动态反馈给你一个 mxn 的二元矩阵 matrix ,且所有值被初始化为 0 。请你设计一个算法,随机选取一个满足 matrix[i][j]......
  • 数组的常用操作
     数组过滤:Array.every((x,index,arr)=>x>2)every每一个都满足条件返回true,有一个不满足返回false 不改变原数组 Array.some((x,index,arr)=>x>2)some有一个......
  • leetcode226-翻转二叉树
    翻转二叉树递归classSolution{publicTreeNodeinvertTree(TreeNoderoot){if(root==null)returnroot;TreeNodel=invertTree(roo......
  • js数组对象的遍历
    //数组循环的方法vararr=[{code:10},{value:100},{name:'大乔'},{age:'18'}];//for----offor(letitemofarr){console.log('for--of',......
  • 数组对象中,匹配value,删除对象
    匹配的value值是字符串类型,如果是number类型,includes()和indexOf()不可用。详看定义:    方法一:Object.entries(),includes(),splice()方法二:indexOf(),splice(......
  • element ui表单 对象 数组验证
     //表单参数   form:{    jobName:"",    jobNo:"",    produceList:[     {      orderNum:"", ......
  • 5. json--数组
    1.前言数组是值的有序集合,JSON中的数组与JavaScript中的数组相似,同样需要使用方括号[]定义,方括号中为数组中的若干值,值可以是JSON中支持的任意类型(例如字符串、数字......
  • js filter 改变数组属性值 原数组属性值也会改变
    今天遇到一个问题,用filter过滤数组后,并改变数组的属性值发现原数组也跟着改变了,这个filter方法说会返回一个新数组不会改变原数组针对的是值类型,引用类型的不适用!场......
  • js 对象数组根据对象的某一个属性值来进行数据排序
    1、根据id值从小到大排序//模拟数据varlist=[{"id":5,"name":"小明","age":5},{"id":2,"name":"小红","age":12},{"id":3,"name":......
  • LCA C 求和 求子树权值和 树上节点单点修改 dfs序+树状数组
     链接:https://ac.nowcoder.com/acm/problem/204871来源:牛客网题目描述已知有 nnn个节点,有 n−1n-1n−1条边,形成一个树的结构。给......