Skip to content

Commit e191dd9

Browse files
authored
feat: add typescript solution to lc problem: No.0056.Merge Intervals (doocs#572)
1 parent a994d50 commit e191dd9

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

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

+21
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,27 @@ class Solution {
113113
}
114114
```
115115

116+
### **TypeScript**
117+
118+
```ts
119+
function merge(intervals: number[][]): number[][] {
120+
intervals.sort((a, b) => a[0] - b[0]);
121+
let ans: number[][] = [];
122+
let index: number = -1;
123+
for (let interval of intervals) {
124+
if (index == -1 || ans[index][1] < interval[0]) {
125+
// 保留
126+
ans.push(interval);
127+
index++;
128+
} else {
129+
// 求交集
130+
ans[index][1] = Math.max(ans[index][1], interval[1]);
131+
}
132+
}
133+
return ans;
134+
};
135+
```
136+
116137
### **C++**
117138

118139
```cpp

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

+21
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,27 @@ class Solution {
8484
}
8585
```
8686

87+
### **TypeScript**
88+
89+
```ts
90+
function merge(intervals: number[][]): number[][] {
91+
intervals.sort((a, b) => a[0] - b[0]);
92+
let ans: number[][] = [];
93+
let index: number = -1;
94+
for (let interval of intervals) {
95+
if (index == -1 || ans[index][1] < interval[0]) {
96+
// 保留
97+
ans.push(interval);
98+
index++;
99+
} else {
100+
// 求交集
101+
ans[index][1] = Math.max(ans[index][1], interval[1]);
102+
}
103+
}
104+
return ans;
105+
};
106+
```
107+
87108
### **C++**
88109

89110
```cpp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function merge(intervals: number[][]): number[][] {
2+
intervals.sort((a, b) => a[0] - b[0]);
3+
let ans: number[][] = [];
4+
let index: number = -1;
5+
for (let interval of intervals) {
6+
if (index == -1 || ans[index][1] < interval[0]) {
7+
// 保留
8+
ans.push(interval);
9+
index++;
10+
} else {
11+
// 求交集
12+
ans[index][1] = Math.max(ans[index][1], interval[1]);
13+
}
14+
}
15+
return ans;
16+
};

0 commit comments

Comments
 (0)