Minimum Operations to Convert Number LeetCode solution in Python
1# Runtime: 4131 ms (Top 24.3%) | Memory: 185.60 MB (Top 35.5%)234class Solution:5def minimumOperations(self, nums: List[int], start: int, goal: int) -> int:6ans = 07seen = {start}8queue = deque([start])9while queue:10for _ in range(len(queue)):11val = queue.popleft()12if val == goal:13return ans14if 0 <= val <= 1000:15for x in nums:16for op in (add, sub, xor):17if op(val, x) not in seen:18seen.add(op(val, x))19queue.append(op(val, x))20ans += 121return -1