Minimum Number of Days to Eat N Oranges LeetCode solution in Python
1from collections import deque2from math import log2, ceil345class Solution:6def minDays(self, n: int) -> int:7maxd = 2 * ceil(log2(n))8que = deque([(1, 1)])9seen = set()10while que:11v, d = que.popleft()12seen.add(v)13if v == n:14return d15for w in [v + 1, 2 * v, 3 * v]:16if w not in seen and d <= maxd and w <= n:17que.append((w, d + 1))