File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool doesValidArrayExist(vector<int>& derived) {
4
+ int n=derived.size();
5
+ if(n==1 && derived[0]==0){
6
+ return true;
7
+ }
8
+ else if(n==1 && derived[0]==1){
9
+ return false;
10
+ }
11
+ vector<int> helper(n);
12
+ if(derived[n-1]==0){
13
+ helper[0]=1;
14
+ helper[n-1]=1;
15
+ for(int i=0;i<n-2;i++){
16
+ if(derived[i]==0){
17
+ helper[i+1]=helper[i];
18
+ }
19
+ else{
20
+ helper[i+1]=1-helper[i];
21
+ }
22
+ }
23
+ if(helper[n-2]^helper[n-1]==derived[n-2]){
24
+ return true;
25
+ }
26
+ }
27
+ else{
28
+ helper[0]=0;
29
+ helper[n-1]=1;
30
+ for(int i=0;i<n-2;i++){
31
+ if(derived[i]==0){
32
+ helper[i+1]=helper[i];
33
+ }
34
+ else{
35
+ helper[i+1]=1-helper[i];
36
+ }
37
+ }
38
+ if(helper[n-2]^helper[n-1]==derived[n-2]){
39
+ return true;
40
+ }
41
+
42
+ }
43
+ return false;
44
+ }
45
+ };
You can’t perform that action at this time.
0 commit comments