Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 143d9a3

Browse files
feat: add solutions to lc problem: No.0056
1 parent 6651f77 commit 143d9a3

File tree

4 files changed

+158
-0
lines changed

4 files changed

+158
-0
lines changed

‎solution/0000-0099/0056.Merge Intervals/README.md‎

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,62 @@ public class Solution {
223223
}
224224
```
225225

226+
### JavaScript
227+
228+
```js
229+
/**
230+
* @param {number[][]} intervals
231+
* @return {number[][]}
232+
*/
233+
var merge = function (intervals) {
234+
intervals.sort((a, b) => a[0] - b[0]);
235+
const result = [];
236+
const n = intervals.length;
237+
let i = 0;
238+
while (i < n) {
239+
const left = intervals[i][0];
240+
let right = intervals[i][1];
241+
while (true) {
242+
i++;
243+
if (i < n && right >= intervals[i][0]) {
244+
right = Math.max(right, intervals[i][1]);
245+
} else {
246+
result.push([left, right]);
247+
break;
248+
}
249+
}
250+
}
251+
return result;
252+
};
253+
```
254+
255+
#### Kotlin
256+
257+
```kotlin
258+
class Solution {
259+
fun merge(intervals: Array<IntArray>): Array<IntArray> {
260+
intervals.sortBy { it[0] }
261+
val result = mutableListOf<IntArray>()
262+
val n = intervals.size
263+
var i = 0
264+
while (i < n) {
265+
val left = intervals[i][0]
266+
var right = intervals[i][1]
267+
while (true) {
268+
i++
269+
if (i < n && right >= intervals[i][0]) {
270+
right = maxOf(right, intervals[i][1])
271+
} else {
272+
result.add(intArrayOf(left, right))
273+
break
274+
}
275+
}
276+
}
277+
return result.toTypedArray()
278+
}
279+
}
280+
```
281+
226282
<!-- tabs:end -->
227283

228284
<!-- solution:end -->

‎solution/0000-0099/0056.Merge Intervals/README_EN.md‎

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,62 @@ public class Solution {
222222
}
223223
```
224224

225+
### JavaScript
226+
227+
```js
228+
/**
229+
* @param {number[][]} intervals
230+
* @return {number[][]}
231+
*/
232+
var merge = function (intervals) {
233+
intervals.sort((a, b) => a[0] - b[0]);
234+
const result = [];
235+
const n = intervals.length;
236+
let i = 0;
237+
while (i < n) {
238+
const left = intervals[i][0];
239+
let right = intervals[i][1];
240+
while (true) {
241+
i++;
242+
if (i < n && right >= intervals[i][0]) {
243+
right = Math.max(right, intervals[i][1]);
244+
} else {
245+
result.push([left, right]);
246+
break;
247+
}
248+
}
249+
}
250+
return result;
251+
};
252+
```
253+
254+
#### Kotlin
255+
256+
```kotlin
257+
class Solution {
258+
fun merge(intervals: Array<IntArray>): Array<IntArray> {
259+
intervals.sortBy { it[0] }
260+
val result = mutableListOf<IntArray>()
261+
val n = intervals.size
262+
var i = 0
263+
while (i < n) {
264+
val left = intervals[i][0]
265+
var right = intervals[i][1]
266+
while (true) {
267+
i++
268+
if (i < n && right >= intervals[i][0]) {
269+
right = maxOf(right, intervals[i][1])
270+
} else {
271+
result.add(intArrayOf(left, right))
272+
break
273+
}
274+
}
275+
}
276+
return result.toTypedArray()
277+
}
278+
}
279+
```
280+
225281
<!-- tabs:end -->
226282

227283
<!-- solution:end -->
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* @param {number[][]} intervals
3+
* @return {number[][]}
4+
*/
5+
var merge = function (intervals) {
6+
intervals.sort((a, b) => a[0] - b[0]);
7+
const result = [];
8+
const n = intervals.length;
9+
let i = 0;
10+
while (i < n) {
11+
const left = intervals[i][0];
12+
let right = intervals[i][1];
13+
while (true) {
14+
i++;
15+
if (i < n && right >= intervals[i][0]) {
16+
right = Math.max(right, intervals[i][1]);
17+
} else {
18+
result.push([left, right]);
19+
break;
20+
}
21+
}
22+
}
23+
return result;
24+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
fun merge(intervals: Array<IntArray>): Array<IntArray> {
3+
intervals.sortBy { it[0] }
4+
val result = mutableListOf<IntArray>()
5+
val n = intervals.size
6+
var i = 0
7+
while (i < n) {
8+
val left = intervals[i][0]
9+
var right = intervals[i][1]
10+
while (true) {
11+
i++
12+
if (i < n && right >= intervals[i][0]) {
13+
right = maxOf(right, intervals[i][1])
14+
} else {
15+
result.add(intArrayOf(left, right))
16+
break
17+
}
18+
}
19+
}
20+
return result.toTypedArray()
21+
}
22+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /