Minimum Operations to Convert Number LeetCode solution in Java

1
class Solution {
2
public int minimumOperations(int[] nums, int start, int goal) {
3
int res = 0;
4
Queue<Integer> q = new LinkedList<>();
5
Set<Integer> set = new HashSet<>();
6
q.offer(start);
7

8
while (!q.isEmpty()) {
9
int size = q.size();
10

11
for (int i = 0; i < size; i++) {
12
int val = q.poll();
13
if (val == goal) return res;
14
if ((val < 0 || val > 1000) || set.contains(val)) continue;
15
if (!set.contains(val)) set.add(val);
16

17
for (int num : nums) {
18
q.offer(val + num);
19
q.offer(val - num);
20
q.offer(val ^ num);
21
}
22
}
23
res++;
24
}
25

26
return -1;
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0