Minimum Number of Days to Eat N Oranges LeetCode solution in JavaScript

1
var minDays = function (n) {
2
const queue = [[n, 0]];
3
const visited = new Set();
4

5
while (queue.length > 0) {
6
const [orangesLeft, days] = queue.shift();
7

8
if (visited.has(orangesLeft)) continue;
9
if (orangesLeft === 0) return days;
10

11
visited.add(orangesLeft);
12
queue.push([orangesLeft - 1, days + 1]);
13

14
if (orangesLeft % 2 === 0) {
15
queue.push([orangesLeft - orangesLeft / 2, days + 1]);
16
}
17

18
if (orangesLeft % 3 === 0) {
19
queue.push([orangesLeft - 2 * (orangesLeft / 3), days + 1]);
20
}
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0