3
int maxTurbulenceSize(vector<int> &arr) {4
vector<int> table1(arr.size(), 0);5
vector<int> table2(arr.size(), 0);9
for (int i = 1; i < arr.size(); ++i) {12
if (arr[i] < arr[i - 1] && (i & 1) == 0) {13
table1[i] = table1[i - 1] + 1;14
} else if (arr[i] > arr[i - 1] && (i & 1) == 1) {15
table1[i] = table1[i - 1] + 1;17
if (arr[i] > arr[i - 1] && (i & 1) == 0) {18
table2[i] = table2[i - 1] + 1;19
} else if (arr[i] < arr[i - 1] && (i & 1) == 1) {20
table2[i] = table2[i - 1] + 1;22
max_len = max(max_len, table1[i]);23
max_len = max(max_len, table2[i]);