Minimum Number of Days to Make m Bouquets LeetCode solution in JavaScript
1var minDays = function (bloomDay, m, k) {2if (m * k > bloomDay.length) {3return -1;4}56let left = 0;7let right = 0;89for (const day of bloomDay) {10left = Math.min(day, left);11right = Math.max(day, right);12}1314let ans = right;1516while (left < right) {17const day = Math.floor((left + right) / 2);1819let count = 0;20let current = 0;2122for (let j = 0; j < bloomDay.length; j++) {23if (bloomDay[j] <= day) {24current++;25} else {26current = 0;27}2829if (current === k) {30count++;31current = 0;32}33}3435if (count === m) {36ans = Math.min(ans, day);37}3839if (count < m) {40left = day + 1;41} else {42right = day;43}44}4546return ans;47};