Construct Target Array With Multiple Sums LeetCode solution in Java

1
class Solution {
2
public boolean isPossible(int[] target) {
3
if (target.length == 1) return target[0] == 1;
4

5
PriorityQueue<Integer> que = new PriorityQueue<Integer>(Collections.reverseOrder());
6
int totsum = 0;
7

8
for (int i = 0; i < target.length; i++) {
9
que.add(target[i]);
10
totsum += target[i];
11
}
12

13
while (que.peek() != 1) {
14
int max = que.remove();
15
int rem = totsum - max;
16
int maxprev = max % rem;
17
totsum = rem + maxprev;
18

19
if (rem == 1) return true;
20

21
if (maxprev == 0 || maxprev == max) {
22
return false;
23
} else {
24
que.add(maxprev);
25
}
26
}
27

28
return true;
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0