Every day a Leetcode
题目来源:2760. 最长奇偶子数组
解法1:模拟
代码:
class Solution
{
public:
int longestAlternatingSubarray(vector<int> &nums, int threshold)
{
int n = nums.size();
int ans = 0;
for (int i = 0; i < n; i++)
{
if (nums[i] % 2 != 0 || nums[i] > threshold)
continue;
int left = i, right = i;
for (int j = i + 1; j < n; j++)
{
if (nums[j - 1] % 2 != nums[j] % 2 && nums[j] <= threshold)
right++;
else
break;
}
ans = max(right - left + 1, ans);
}
return ans;
}
};
结果:
复杂度分析:
时间复杂度:O(n2),其中 n 是数组 nums 的长度。
空间复杂度:O(1)。