当前位置:网站首页>LeetCode 1640. Can I connect to form an array
LeetCode 1640. Can I connect to form an array
2022-07-06 16:43:00 【Daylight629】
1640. Can you join to form an array
Give you an array of integers arr
, Every integer in the array Different from each other . There's another array of integers pieces
, The integers are also Different from each other . Please use In any order Connect pieces
In order to form arr
. however , Don't allow For each array pieces[i]
Reorder integers in .
If you can connect pieces
The array in the form of arr
, return true
; otherwise , return false
.
Example 1:
Input :arr = [85], pieces = [[85]]
Output :true
Example 2:
Input :arr = [15,88], pieces = [[88],[15]]
Output :true
explain : Connect in turn [15] and [88]
Example 3:
Input :arr = [49,18,16], pieces = [[16,18,49]]
Output :false
explain : Even if the numbers match , You can't rearrange pieces[0]
Example 4:
Input :arr = [91,4,64,78], pieces = [[78],[4,64],[91]]
Output :true
explain : Connect in turn [91]、[4,64] and [78]
Example 5:
Input :arr = [1,3,5,7], pieces = [[2,4,6,8]]
Output :false
Tips :
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
The integer Different from each otherpieces
The integer Different from each other ( in other words , If you willpieces
Flatten it into a one-dimensional array , All integers in an array are different from each other )
Two 、 Method 1
Hash
class Solution {
public boolean canFormArray(int[] arr, int[][] pieces) {
Map<Integer, int[]> map = new HashMap<>();
for (int[] piece : pieces) {
map.put(piece[0], piece);
}
for (int i = 0; i < arr.length;) {
int cur = arr[i];
if (map.containsKey(cur)) {
int[] pos = map.get(cur);
for (int x : pos) {
if (arr[i] == x) {
i++;
} else {
return false;
}
}
} else {
return false;
}
}
return true;
}
}
Complexity analysis
Time complexity :O(n).
Spatial complexity :O(n).
边栏推荐
- 去掉input聚焦时的边框
- Chapter 6 rebalance details
- 新手必会的静态站点生成器——Gridsome
- Use JQ to realize the reverse selection of all and no selection at all - Feng Hao's blog
- 第6章 Rebalance详解
- LeetCode 1550. There are three consecutive arrays of odd numbers
- Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
- How to insert mathematical formulas in CSDN blog
- 解决Intel12代酷睿CPU【小核载满,大核围观】的问题(WIN11)
- Study notes of Tutu - process
猜你喜欢
Hbuilder X格式化快捷键设置
Chapter 2 shell operation of hfds
QT implementation fillet window
It is forbidden to trigger onchange in antd upload beforeupload
Kubernetes集群部署
Chapter 5 namenode and secondarynamenode
Click QT button to switch qlineedit focus (including code)
Base dice (dynamic programming + matrix fast power)
Solve the problem that intel12 generation core CPU single thread only runs on small cores
js封装数组反转的方法--冯浩的博客
随机推荐
Gridhome, a static site generator that novices must know
Spark独立集群Worker和Executor的概念
Solve the problem of intel12 generation core CPU [small core full, large core onlookers] (win11)
顺丰科技智慧物流校园技术挑战赛(无t4)
JS encapsulates the method of array inversion -- Feng Hao's blog
Codeforces Round #800 (Div. 2)AC
Codeforces Round #802(Div. 2)A~D
Educational Codeforces Round 122 (Rated for Div. 2)
Basic principles of video compression coding and audio compression coding
Raspberry pie 4B installation opencv3.4.0
Installation and configuration of MariaDB
Research Report on market supply and demand and strategy of double drum magnetic separator industry in China
(lightoj - 1323) billiard balls (thinking)
Chapter 5 namenode and secondarynamenode
Sublime text code formatting operation
Market trend report, technological innovation and market forecast of desktop electric tools in China
ffmpeg命令行使用
Chapter III principles of MapReduce framework
Codeforces Round #798 (Div. 2)A~D
Submit several problem records of spark application (sparklauncher with cluster deploy mode)