当前位置:网站首页>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 <= 100sum(pieces[i].length) == arr.length1 <= pieces[i].length <= arr.length1 <= arr[i], pieces[i][j] <= 100arrThe integer Different from each otherpiecesThe integer Different from each other ( in other words , If you willpiecesFlatten 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).
边栏推荐
- LeetCode 1447. Simplest fraction
- Codeforces Round #771 (Div. 2)
- Codeforces - 1526C1&&C2 - Potions
- 力扣leetcode第 280 场周赛
- Browser print margin, default / borderless, full 1 page A4
- Market trend report, technological innovation and market forecast of double door and multi door refrigerators in China
- Oneforall installation and use
- Story of [Kun Jintong]: talk about Chinese character coding and common character sets
- Soft music -js find the number of times that character appears in the string - Feng Hao's blog
- Generate random password / verification code
猜你喜欢

Codeforces Round #799 (Div. 4)A~H

Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines

简单尝试DeepFaceLab(DeepFake)的新AMP模型

SQL快速入门

Raspberry pie 4B installation opencv3.4.0

Sublime text code formatting operation

Problem - 922D、Robot Vacuum Cleaner - Codeforces

sublime text 代码格式化操作

MariaDB的安装与配置

Simple records of business system migration from Oracle to opengauss database
随机推荐
Acwing - game 55 of the week
使用jq实现全选 反选 和全不选-冯浩的博客
Useeffect, triggered when function components are mounted and unloaded
Specify the format time, and fill in zero before the month and days
OneForAll安装使用
Codeforces Round #771 (Div. 2)
Codeforces Round #800 (Div. 2)AC
(POJ - 1458) common subsequence (longest common subsequence)
Local visualization tools are connected to redis of Alibaba cloud CentOS server
视频压缩编码和音频压缩编码基本原理
sublime text 代码格式化操作
第一章 MapReduce概述
原生js实现全选和反选的功能 --冯浩的博客
Research Report on hearing health care equipment industry - market status analysis and development prospect prediction
Hbuilder X格式化快捷键设置
How to insert mathematical formulas in CSDN blog
Codeforces Round #803 (Div. 2)A~C
Chapter 2 shell operation of hfds
腾讯面试算法题
Spark的RDD(弹性分布式数据集)返回大结果集