-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueueSum.java
More file actions
39 lines (33 loc) · 1.09 KB
/
QueueSum.java
File metadata and controls
39 lines (33 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.util.LinkedList;
import java.util.Queue;
class Solution {
public int solution(int[] queue1, int[] queue2) {
Queue<Integer> q1 = new LinkedList<>();
Queue<Integer> q2 = new LinkedList<>();
long q1Sum = 0;
long q2Sum = 0;
for(int i=0; i<queue1.length; i++){
q1.add(queue1[i]);
q1Sum += queue1[i];
q2.add(queue2[i]);
q2Sum += queue2[i];
}
long mid = (q1Sum + q2Sum) / 2;
int answer = 0;
for(int i=0; i< queue1.length*3; i++){
if(q1Sum > q2Sum){
q1Sum -= q1.peek();
q2Sum += q1.peek();
q2.add(q1.poll());
answer++;
}else if(q1Sum < q2Sum){
q1Sum += q2.peek();
q2Sum -= q2.peek();
q1.add(q2.poll());
answer++;
}
if(q1Sum == mid && q2Sum == mid) return answer;
}
return -1;
}
}