Итак, в основном, вопросы задают мне, чтобы найти сумму чисел в массиве. За исключением числа «13» очень не повезло, поэтому он не считается «13» и числом, которое приходит сразу после «13».Сумма целых чисел в массиве
Это то, что я сделал:
public int sum13(int[] nums) {
int d = 0;
int sum = 0;
for (int i=0;i<nums.length;i++){
if(nums[i] == 13){
d = i;
break;
}
else{
d = nums.length;
}
}
for(int i=0;i<d;i++){
sum = sum + nums[i];
}
return sum;
}
Даже если я пройти большинство тестов, я до сих пор не могу понять, как исключить номер в непосредственной близости от 13 от суммы.
Например, sum13 ({1, 2, 2, 1, 13}) → 6 ПРОПУСТИТЬ! sum13 ({13, 1, 13}) → 0 ПРОПУСТИТЬ! Но, sum13 ({13, 1, 2, 13, 2, 1, 13}) → 0 RETURNS 0 вместо этого, когда он останавливается в первом случае 13.
Ahh ... так что если я хочу исключить число рядом с 13, мне просто нужно увеличить i на 2 вместо этого? (i = + 2) –
'i' уже увеличивает каждую итерацию, и никакое добавление не выполняется, когда встречается' 13'. Итак, написав «i ++», мы пропустим номер после «13». – Keppil