所以,基本上,这些问题要求我找到数组中数字的总和。除了数字“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 PASSES!sum13({13, 1, 13}) → 0 次通过!但是, sum13({13, 1, 2, 13, 2, 1, 13}) → 3 返回 0,因为它在 13 的第一个实例处停止。