这个问题我也是在刷力扣这道题遇见的
代码如下
class Solution {
public int minArray(int[] numbers) {
int right=numbers.length-1, left=0;
while(left numbers[right]){
left=mid+1;
}
if (numbers[mid]==numbers[right]){
right--;
}
}
return numbers[left];
}
}
当执行这段代码的时候是会报错的
原因是因为多个if语句的时候,执行完一个if语句还会进入下一个if语句 造成了赋值混乱! if...else if 结构 只有当if不满足时候才会去执行else if 成功了就会跳出
当我们改为以下代码的时候就没有错误了
int right=numbers.length-1, left=0,mid=0;
while(left numbers[right]){
left=mid+1;
} else right--;
}
return numbers[left];
}



