leetcode 374. Guess Number Higher or Lower

来源:互联网 发布:php网页自动生成html 编辑:程序博客网 时间:2024/05/16 15:18

题目:

一个给定的数字n。

别人写一个1到n之间的数字,让你的函数根据guess函数猜出来,他写的是啥。


guess函数可以理解为:

int guess(int num){if(num==num_pick) return 0;else if(num >num_pick ) return -1;else return 1;}

实现当然可以用遍历,但是TLD,那就用二分好了。


int guessNumber(int n) {                int left = 1;        int right = n;                if(guess(n)==0) return n;        int mid = n;        while(left<right)        {            if(guess(mid)==0) return mid;                        if(guess(mid)==-1)            {right = mid;mid = left + (right - left)/2;                                          }                        if(guess(mid)==1)            {left = mid;mid = left + (right - left)/2;                      }        }                              return left;    }


0 0
原创粉丝点击