Minimum Number of Days to Eat N Oranges LeetCode solution in JavaScript
1var minDays = function (n) {2const queue = [[n, 0]];3const visited = new Set();45while (queue.length > 0) {6const [orangesLeft, days] = queue.shift();78if (visited.has(orangesLeft)) continue;9if (orangesLeft === 0) return days;1011visited.add(orangesLeft);12queue.push([orangesLeft - 1, days + 1]);1314if (orangesLeft % 2 === 0) {15queue.push([orangesLeft - orangesLeft / 2, days + 1]);16}1718if (orangesLeft % 3 === 0) {19queue.push([orangesLeft - 2 * (orangesLeft / 3), days + 1]);20}21}22};