日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

1640. Check Array Formation Through Concatenation 能否连接形成数组

發布時間:2024/5/17 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1640. Check Array Formation Through Concatenation 能否连接形成数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個整數數組 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 能否连接形成数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。