當前位置:
首頁 >
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 能否连接形成数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 941. Valid Mountain
- 下一篇: 1470. Shuffle the Ar