Minimum Operations to Convert Number LeetCode solution in Java
1class Solution {2public int minimumOperations(int[] nums, int start, int goal) {3int res = 0;4Queue<Integer> q = new LinkedList<>();5Set<Integer> set = new HashSet<>();6q.offer(start);78while (!q.isEmpty()) {9int size = q.size();1011for (int i = 0; i < size; i++) {12int val = q.poll();13if (val == goal) return res;14if ((val < 0 || val > 1000) || set.contains(val)) continue;15if (!set.contains(val)) set.add(val);1617for (int num : nums) {18q.offer(val + num);19q.offer(val - num);20q.offer(val ^ num);21}22}23res++;24}2526return -1;27}28}