我有一個代碼,將連續的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更新! –