Guess Number Higher or Lower
给一个方法guess(n), 猜一个数. 如果n大返回1, 小返回-1, 等于返回0. 用二叉搜索.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Solution extends GuessGame { public int guessNumber(int n) { int l = 1; int r = n; while(l <= r) { int m = l + (r - l) / 2; if(guess(m) == 0) return m; else if(guess(m) == -1) r = m - 1; else l = m + 1; } return -1; } } |