diff --git a/merge-intervals/robinyoon-dev.js b/merge-intervals/robinyoon-dev.js new file mode 100644 index 0000000000..f459c121d5 --- /dev/null +++ b/merge-intervals/robinyoon-dev.js @@ -0,0 +1,40 @@ +/** + * @param {number[][]} intervals + * @return {number[][]} + */ +var merge = function (intervals) { + + let result = []; + + let sortedIntervals = intervals.toSorted((a, b) => a[0] - b[0]); + + for (let interval of sortedIntervals) { + + if (result.length == 0) { + result.push(interval); + continue; + } + + let intervalStart = interval[0]; + let intervalEnd = interval[1]; + + let lastItemInResult = result[result.length - 1]; + + let start = lastItemInResult[0]; + let end = lastItemInResult[1]; + + let isIntervalStartInRange = intervalStart >= start && intervalStart <= end; + + if (isIntervalStartInRange) { + if (intervalEnd > end) { + result[result.length - 1][1] = intervalEnd; + } + } else { + result.push(interval); + } + + } + + return result; + +}; diff --git a/missing-number/robinyoon-dev.js b/missing-number/robinyoon-dev.js new file mode 100644 index 0000000000..ed68aaa5a2 --- /dev/null +++ b/missing-number/robinyoon-dev.js @@ -0,0 +1,17 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var missingNumber = function (nums) { + + let n = nums.length + 1; + let sortedNums = nums.sort((a, b) => a - b); + + for (let i = 0; i < n; i++) { + if (sortedNums[i] === i) { + continue; + } else { + return i; + } + } +};