力扣每日一题:最长奇偶子数组
题目链接:2760.最长奇偶子数组
题目描述
代码思路
利用单指针进行扫描,符合子数组起点要求时,开始记录子数组长度。题目本身不难理解,就是判断的条件比较多,需要耐心和细心。
代码纯享版
class Solution {
public int longestAlternatingSubarray(int[] nums, int threshold) {
int maxlen = 0;
int left = 0;
while(left < nums.length){
int len = 0;
while(left < nums.length && nums[left] % 2 != 0) left++;
if(left >= nums.length) break;
if(nums[left] <= threshold){
len = 1;
while((left + 1) < nums.length){
if(nums[left + 1] <= threshold && nums[left] % 2 != nums[left + 1] % 2){
len++;
left++;
}
else break;
}
}
maxlen = Math.max(maxlen, len);
left++;
}
return maxlen;
}
}