给你一个整数数组 arr ,数组中的每个整数 互不相同 。另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 。请你以 任意顺序 连接 pieces 中的数组以形成 arr 。但是,不允许 对每个数组 pieces[i] 中的整数重新排序。

如果可以连接 pieces 中的数组形成 arr ,返回 true ;否则,返回 false

示例 1:

输入:arr = [85], pieces = [[85]]
输出:true

示例 2:

输入:arr = [15,88], pieces = [[88],[15]]
输出:true
解释:依次连接 [15][88]

示例 3:

输入:arr = [49,18,16], pieces = [[16,18,49]]
输出:false
解释:即便数字相符,也不能重新排列 pieces[0]

示例 4:

输入:arr = [91,4,64,78], pieces = [[78],[4,64],[91]]
输出:true
解释:依次连接 [91][4,64][78]

示例 5:

输入:arr = [1,3,5,7], pieces = [[2,4,6,8]]
输出:false

提示:

  • 1 <= pieces.length <= arr.length <= 100
  • sum(pieces[i].length) == arr.length
  • 1 <= pieces[i].length <= arr.length
  • 1 <= arr[i], pieces[i][j] <= 100
  • arr 中的整数 互不相同
  • pieces 中的整数 互不相同(也就是说,如果将 pieces 扁平化成一维数组,数组中的所有整数互不相同)

逻辑

这题直接分析就可以了,用两个指针分别遍历arr和piece的元素,如果找到了就往前走,没找到就直接return False。

Python

class Solution:def canFormArray(self, arr: List[int], pieces: List[List[int]]) -> bool:arrIndex = 0while arrIndex < len(arr):for piece in pieces:if arr[arrIndex] == piece[0] and arr[arrIndex: arrIndex + len(piece)] == piece:arrIndex += len(piece)breakelse:return Falsereturn True

1640. Check Array Formation Through Concatenation 能否连接形成数组相关推荐

  1. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比

    JS中集合对象(Array.Map.Set)及类数组对象的使用与对比 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java ...

  2. 以array开头的php函数,PHP 常用数组函数详解

    在php100看到的这篇文章,文章讲解的很实用,觉得不错,转到博客,算是备忘吧. php 数组是 php 语言中一个重要的组成部分,其中相关函数至少有30多个,能够熟练的使用数组.数据库存储数据将会对 ...

  3. java字符连接字符串数组_Java中连接字符串的最佳方法

    java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用 ...

  4. java中set怎么建int型_使用Array.setInt来填充Java中的数组

    为了填充Java中的数组,我们使用Array.setInt()方法.java.lang.reflect.Array.setInt(Object array,int index,int value)方法 ...

  5. php 中array方法,php 中的几个数组方法

    array_splice: 在数组中删除或插入元素: ** 语法: ** array_splice(array, satrt, length, areay); ** 参数: ** array: 必需. ...

  6. LeetCode 1640. 能否连接形成数组(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 arr ,数组中的每个整数 互不相同 . 另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 .请你以 任意顺序 连接 ...

  7. 首尾连接的数组的求和问题

    在课堂上,那个两个数组首位连接的问题我象不太出来,在其他的同学讲解后我感觉一个同学的方法很好,核心是做一个二倍长度的数组. package sumarray; import java.util.Inp ...

  8. r语言 array c函数,[转载]R语言:数组(array)和矩阵(matrix)

    数组 数组(array)是一个带有多个下标且型态相同的元素集合,例如数值所构成的数组.在 R 中有一些简单的函数可以建立与处理数组,特别是针对矩阵的处理(矩阵在 R 中是数组的一种). 数组有一个特别 ...

  9. php5.2 array,详解php 5.2.x 数组操作实例

    php 5.2.x中的数组操作 刚看了php入门教程,总结一些由于php版本不同,引发的php数组操作的一些问题. 以下内容在 php5.2.5 环境下测试完成. 1.<?php $arr = ...

最新文章

  1. char str[]与char *str的区别
  2. 2016年第7本:非暴力沟通
  3. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysq
  4. 1、计算机网络之计算机之间的连接方式
  5. 计算机能模拟图灵机吗,关于计算机科学:图灵机与冯诺依曼机器
  6. string转map集合_Map、斗地主案例
  7. 会议通知|第3届全国高校大数据教学研讨会
  8. 【POJ2318】TOYS(点在凸多边形内判定---模版暴力/二分)
  9. 自己做的小游戏希望大家能喜欢
  10. 51单片机自学笔记(一)——keil软件的使用
  11. MIPS架构与指令简介
  12. 《我是一只IT小小鸟》(胡江堂主编)读后感
  13. 基于jmeter+perfmon的稳定性测试记录
  14. 华硕服务器系统都还原不了怎么办,华硕笔记本重装系统后dns解析失败怎么办
  15. 自学2 MATLAB图形处理
  16. 神经科学(第三版)书籍,神经系统相关书籍
  17. 逍遥模拟器怎样连接android,逍遥安卓模拟器
  18. 你是真的“C”——宏与函数的英雄本色
  19. iOS 应用创建APNS 和 VOIP的pem证书流程
  20. 3399使用GPIO口模拟i2c升级NT68411

热门文章

  1. 13.Java为什么不支持多继承
  2. 27_多线程_第27天(线程安全、线程同步、等待唤醒机制、单例设计模式)_讲义...
  3. 程序员的自我反省-十条原则
  4. JavaScript | 数据属性与访问器属性
  5. 网络路径无法访问问题的解决
  6. View.inflate和LayoutInflater的inflate方法区别
  7. OC中数组排序的3种方法
  8. Linux下的各文件夹的作用(转)
  9. 初探Margin负值(转)
  10. dubbo调用失败策略_面试官:dubbo负载均衡策略,集群容错策略,动态代理策略有哪些...