Skip to content

Commit df9bee6

Browse files
authored
feat: add js solution to lc problem: No.1640. Check Array Formation Through Concatenation (doocs#385)
1 parent 9540634 commit df9bee6

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

solution/1600-1699/1640.Check Array Formation Through Concatenation/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,33 @@ class Solution {
118118
}
119119
```
120120

121+
### **JavaScript**
122+
123+
```js
124+
/**
125+
* @param {number[]} arr
126+
* @param {number[][]} pieces
127+
* @return {boolean}
128+
*/
129+
var canFormArray = function(arr, pieces) {
130+
let mapper = new Map();
131+
for (let i = 0; i < pieces.length; i++) {
132+
mapper.set(pieces[i][0], pieces[i]);
133+
}
134+
let i = 0, n = arr.length;
135+
while (i < n) {
136+
let cur = arr[i];
137+
let nums = mapper.get(cur);
138+
if (nums == undefined) return false;
139+
for (let num of nums) {
140+
if (arr[i] != num) return false;
141+
i++;
142+
}
143+
}
144+
return true;
145+
};
146+
```
147+
121148
### **...**
122149

123150
```

solution/1600-1699/1640.Check Array Formation Through Concatenation/README_EN.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,33 @@ class Solution {
107107
}
108108
```
109109

110+
### **JavaScript**
111+
112+
```js
113+
/**
114+
* @param {number[]} arr
115+
* @param {number[][]} pieces
116+
* @return {boolean}
117+
*/
118+
var canFormArray = function(arr, pieces) {
119+
let mapper = new Map();
120+
for (let i = 0; i < pieces.length; i++) {
121+
mapper.set(pieces[i][0], pieces[i]);
122+
}
123+
let i = 0, n = arr.length;
124+
while (i < n) {
125+
let cur = arr[i];
126+
let nums = mapper.get(cur);
127+
if (nums == undefined) return false;
128+
for (let num of nums) {
129+
if (arr[i] != num) return false;
130+
i++;
131+
}
132+
}
133+
return true;
134+
};
135+
```
136+
110137
### **...**
111138

112139
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @param {number[]} arr
3+
* @param {number[][]} pieces
4+
* @return {boolean}
5+
*/
6+
var canFormArray = function(arr, pieces) {
7+
let mapper = new Map();
8+
for (let i = 0; i < pieces.length; i++) {
9+
mapper.set(pieces[i][0], pieces[i]);
10+
}
11+
let i = 0, n = arr.length;
12+
while (i < n) {
13+
let cur = arr[i];
14+
let nums = mapper.get(cur);
15+
if (nums == undefined) return false;
16+
for (let num of nums) {
17+
if (arr[i] != num) return false;
18+
i++;
19+
}
20+
}
21+
return true;
22+
};

0 commit comments

Comments
 (0)