我有一个代码,将连续的even
数字和连续的odd
数字相加,然后将它们添加到arraylist
。应重复此过程,直到列表中不再有连续的奇数或偶数。然后返回arraylist
的大小。数组中连续的偶数和连续的奇数
我使用嵌套for
循环,问题是循环检查相同index
这是没有意义的。
这里是我的代码:
public static int SumGroups(int[] arr) {
ArrayList<Integer> arl = new ArrayList<Integer>();
int even = 0, odd = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] % 2 == 0) {
even += arr[i];
if (arr[j] % 2 == 0) {
even += arr[j];
} else {
arl.add(even);
even = 0;
break;
}
} else {
odd += arr[i];
if (arr[j] % 2 != 0) {
odd += arr[j];
} else {
arl.add(odd);
odd = 0;
break;
}
}
}
}
return arl.size();
}
我的问题是: 如何防止环路从检查相同指数? 换句话说,如何让我的代码总和连续的偶数和连续的奇数?
输入:
int arr[]={2, 1, 2, 2, 6, 5, 0, 2, 0, 5, 5, 7, 7, 4, 3, 3, 9};
输出:
6 // [2, 1, 10, 5, 30, 15]
我更新了帖子来解释我的问题 –
您能否提供样本输入和期望的输出? –
@Lashane更新! –