Untitled
unknown
plain_text
a month ago
1.0 kB
2
Indexable
meetings.sort((a, b) => a[0] - b[0]); const mergedMeetings = []; let currentStart = -1; let currentEnd = -1; for (let [start, end] of meetings) { if (start <= currentEnd) { currentEnd = Math.max(currentEnd, end); } else { if (currentStart !== -1) { mergedMeetings.push([currentStart, currentEnd]); } currentStart = start; currentEnd = end; } } if (currentStart !== -1) { mergedMeetings.push([currentStart, currentEnd]); } let availableDays = 0; if (mergedMeetings[0][0] > 1) { availableDays += mergedMeetings[0][0] - 1; } for (let i = 1; i < mergedMeetings.length; i++) { availableDays += mergedMeetings[i][0] - mergedMeetings[i - 1][1] - 1; } if (mergedMeetings[mergedMeetings.length - 1][1] < days) { availableDays += days - mergedMeetings[mergedMeetings.length - 1][1]; } return availableDays;
Editor is loading...
Leave a Comment