题目描述:给定一个数组,数组间相邻两个数相乘为偶数,如果不为偶数,则需要将其中一个调变为偶数使其相乘为偶数,编写一个方法返回需要调变的最少次数。
输入例子1:[1,3,5,8,5,5,2]
输出1:2
原因:改变数组中的3和5变成偶数(奇数加1或减1都变偶数),即[1,2,5,8,2,5,2]就可以变成两两互相相乘为偶数。
输入例子2:[1,1,1,1,1]
输出:2
原因:改变第二和第四个奇数为偶数即可两两互乘为偶数
输入例子3:[2,2,2,]
输出3:0
原因:无需改变即可两两互乘为偶数
package com.LeetCode_ACM;
import java.util.Scanner;
package com.LeetCode_ACM;
import java.util.Scanner;
public class zhongxin {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int length = in.nextInt();
int[] nums = new int[length];
for(int i = 0; i < length; i++){
nums[i] = in.nextInt();
}
int count = 0;
int record = 0;
for(int i = 0; i < length; i++){
if(record >= 2){
count++;
record = 0;
}
if(nums[i]%2 != 0){
record++;
} else {
record = 0;
}
}
if(record == 1){
count = 1;
}
System.out.println(count);
}
}