-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathsolution.java
More file actions
22 lines (20 loc) · 744 Bytes
/
solution.java
File metadata and controls
22 lines (20 loc) · 744 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public boolean doesValidArrayExist(int[] derived) {
int n = derived.length;
// Case 1: Assume original[0] = 0
boolean validCase1 = true;
int current = 0; // original[0]
for (int i = 0; i < n; i++) {
current = derived[i] ^ current; // Compute original[i+1]
}
validCase1 = (current == 0); // Wrap-around condition
// Case 2: Assume original[0] = 1
boolean validCase2 = true;
current = 1; // original[0]
for (int i = 0; i < n; i++) {
current = derived[i] ^ current; // Compute original[i+1]
}
validCase2 = (current == 1); // Wrap-around condition
return validCase1 || validCase2;
}
}