码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] 374. Guess Number Higher or Lower

时间:2019-10-31 00:57:38      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:pre   判断   other   parent   guess   script   leetcode   int   asc   

这也是一个通过二分法调用API猜数字大小的题目。注意判断的边界是从1到N。这题没有提供JavaScript的API所以我就直接上Java的代码了。

时间O(logn)

空间O(1)

 1 /* The guess API is defined in the parent class GuessGame.
 2    @param num, your guess
 3    @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
 4       int guess(int num); */
 5 
 6 public class Solution extends GuessGame {
 7     public int guessNumber(int n) {
 8         int start = 1;
 9         int end = n;
10         while (start + 1 < end) {
11             int mid = start + (end - start) / 2;
12             if (guess(mid) == 0) {
13                 return mid;
14             } else if (guess(mid) == 1) {
15                 start = mid;
16             } else {
17                 end = mid;
18             }
19         }
20         if (guess(start) == 0) return start;
21         return end;
22     }
23 }

 

[LeetCode] 374. Guess Number Higher or Lower

标签:pre   判断   other   parent   guess   script   leetcode   int   asc   

原文地址:https://www.cnblogs.com/aaronliu1991/p/11768789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!