Skip to content

Commit e05df3b

Browse files
authored
Create 3201. Find the Maximum Length of Valid Subsequence I (#842)
2 parents bf1e9f0 + ce9c5ca commit e05df3b

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution {
2+
public:
3+
int maximumLength(vector<int>& nums) {
4+
int allev = 0, allodd = 0, oddev = 0;
5+
6+
// Count total even and odd numbers
7+
for (int i = 0; i < nums.size(); i++) {
8+
if (nums[i] % 2 == 0) {
9+
allev++;
10+
} else {
11+
allodd++;
12+
}
13+
}
14+
15+
// Count longest alternating odd-even subsequence
16+
bool expectOdd = true;
17+
bool expectEven = true;
18+
for (int i = 0; i < nums.size(); i++) {
19+
if (nums[i] % 2 == 0 && expectEven) {
20+
oddev++;
21+
expectEven = false;
22+
expectOdd = true;
23+
} else if (nums[i] % 2 != 0 && expectOdd) {
24+
oddev++;
25+
expectOdd = false;
26+
expectEven = true;
27+
}
28+
}
29+
30+
return max({allev, allodd, oddev});
31+
}
32+
};

0 commit comments

Comments
 (0)