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

1
from collections import deque
2
from math import log2, ceil
3

4

5
class Solution:
6
def minDays(self, n: int) -> int:
7
maxd = 2 * ceil(log2(n))
8
que = deque([(1, 1)])
9
seen = set()
10
while que:
11
v, d = que.popleft()
12
seen.add(v)
13
if v == n:
14
return d
15
for w in [v + 1, 2 * v, 3 * v]:
16
if w not in seen and d <= maxd and w <= n:
17
que.append((w, d + 1))

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0