当前位置:网站首页>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).
边栏推荐
- Chapter III principles of MapReduce framework
- Li Kou: the 81st biweekly match
- Chapter 5 namenode and secondarynamenode
- 简单尝试DeepFaceLab(DeepFake)的新AMP模型
- Browser print margin, default / borderless, full 1 page A4
- LeetCode 1561. The maximum number of coins you can get
- Market trend report, technical innovation and market forecast of tabletop dishwashers in China
- 【锟斤拷】的故事:谈谈汉字编码和常用字符集
- Acwing: the 56th weekly match
- 视频压缩编码和音频压缩编码基本原理
猜你喜欢
QT simulates mouse events and realizes clicking, double clicking, moving and dragging
(lightoj - 1323) billiard balls (thinking)
Codeforces round 797 (Div. 3) no f
视频压缩编码和音频压缩编码基本原理
Raspberry pie 4B installation opencv3.4.0
第2章 HFDS的Shell操作
JS encapsulates the method of array inversion -- Feng Hao's blog
Chapter 5 yarn resource scheduler
字节跳动新程序员成长秘诀:那些闪闪发光的宝藏mentor们
本地可视化工具连接阿里云centOS服务器的redis
随机推荐
js封装数组反转的方法--冯浩的博客
Date plus 1 day
Log statistics (double pointer)
本地可视化工具连接阿里云centOS服务器的redis
Gridhome, a static site generator that novices must know
Educational Codeforces Round 122 (Rated for Div. 2)
Audio and video development interview questions
Market trend report, technical innovation and market forecast of tabletop dishwashers in China
Raspberry pie 4B installation opencv3.4.0
拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it
业务系统兼容数据库Oracle/PostgreSQL(openGauss)/MySQL的琐事
Codeforces Round #771 (Div. 2)
Research Report on hearing health care equipment industry - market status analysis and development prospect prediction
JS encapsulates the method of array inversion -- Feng Hao's blog
LeetCode 1447. Simplest fraction
Educational Codeforces Round 130 (Rated for Div. 2)A~C
Chapter 7__ consumer_ offsets topic
Cmake error: could not create named generator visual studio 16 2019 solution
Market trend report, technological innovation and market forecast of desktop electric tools in China
解决Intel12代酷睿CPU单线程只给小核运行的问题