Movatterモバイル変換


[0]ホーム

URL:


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

Commit87dd4cc

Browse files
Merge pull requestignacio-chiazzo#11 from ignacio-chiazzo/merge-intervals
ädded solution for Merge Interval
2 parents1288246 +823e9a2 commit87dd4cc

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

‎56. Merge Intervals.js

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@
2323

2424
varmerge=function(intervals){
2525
varres=[];
26-
26+
2727
intervals.sort((i1,i2)=>i1.start>i2.start ?1 :-1);
28-
28+
2929
if(intervals.length){
3030
res.push(intervals[0]);
3131
}
32-
32+
3333
for(vari=1;i<intervals.length;i++){
3434
varinterval=intervals[i];
3535
varlast=res.pop();
36-
36+
3737
if(interval.start>last.end){
3838
res.push(last);
3939
res.push(interval);
@@ -42,6 +42,29 @@
4242
res.push(last);
4343
}
4444
}
45-
45+
4646
returnres;
47-
};
47+
};
48+
49+
//Another similar solution
50+
varmerge=function(intervals){
51+
if(intervals===null||intervals.length<=0){
52+
returnintervals;
53+
}
54+
intervals.sort(function(a,b){returna.start-b.start});
55+
varretIntervals=[];
56+
vari=1;
57+
retIntervals.push(intervals[0]);
58+
console.log(retIntervals);
59+
while(i<intervals.length){
60+
varlastTime=retIntervals[retIntervals.length-1];
61+
varcurrentTime=intervals[i]
62+
if(lastTime.end<currentTime.start){
63+
retIntervals.push(currentTime)
64+
}elseif(lastTime.end<currentTime.end){
65+
retIntervals[retIntervals.length-1].end=currentTime.end;
66+
}
67+
i++;
68+
}
69+
returnretIntervals;
70+
};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp