【发布时间】:2022-08-24 14:57:59
【问题描述】:
https://leetcode.com/problems/guess-number-higher-or-lower/ 以上是问题的链接
public class Solution extends GuessGame {
public int guessNumber(int n) {
int start=1;
int end=n;
int pick=0;
while(start<=end){
int mid=start+(end-start)/2;
if(guess(mid)==-1){
end=mid-1;
}else if(guess(mid)==1){
start=mid+1;
}else if(guess(mid)==0) {
pick=mid;
}
}
return pick;
}
}
此代码需要 500 多毫秒才能执行 请提出为什么需要这么多时间
-
因为一旦你猜对了,你就不会退出循环。我建议将
return pick;向上移动几行。
标签: java binary-search