[LeetCode]374. Guess Number Higher or Lower【&375. Guess Number Higher or Lower II】
来源:互联网 发布:php usleep函数 编辑:程序博客网 时间:2024/05/21 11:24
374 . Guess Number Higher or Lower
Easy
We are playing the Guess Game. The game is as follows:
I pick a number from 1 to n. You have to guess which number I picked.
Every time you guess wrong, I’ll tell you whether the number is higher or lower.
You call a pre-defined API guess(int num) which returns 3 possible results (-1, 1, or 0):
-1 : My number is lower
1 : My number is higher
0 : Congrats! You got it!
Example:
n = 10, I pick 6.
Return 6.
2ms:
public int guessNumber(int n) { if (guess(n) == 0) return n; int left = 1, right = n; while (left < right) { int mid = left + (right - left) / 2, t = guess(mid); if (t == 0) return mid; else if (t == 1) left = mid; else right = mid; } return left; }
1ms:
public int guessNumber(int n) { if(guess(n)==0) return n; int leftp=1; int rip=n; int mid = gg(leftp,rip); int res = guess(mid); while(res!=0){ if(res<0) rip=mid; else leftp=mid; mid=gg(leftp,rip); res=guess(mid); } return mid; } int gg(int le,int rh){return (rh-le)/2 + le;}
对照[LeetCode]278. First Bad Version
375 . Guess Number Higher or Lower II
Medium
We are playing the Guess Game. The game is as follows:
I pick a number from 1 to n. You have to guess which number I picked.
Every time you guess wrong, I’ll tell you whether the number I picked is higher or lower.
However, when you guess a particular number x, and you guess wrong, you pay $x. You win the game when you guess the number I picked.
Example:
n = 10, I pick 8.
First round: You guess 5, I tell you that it’s higher. You pay
Third round: You guess 9, I tell you that it’s lower. You pay $9.
Game over. 8 is the number I picked.
You end up paying
Given a particular n ≥ 1, find out how much money you need to have to guarantee a win.
- [LeetCode]374. Guess Number Higher or Lower【&375. Guess Number Higher or Lower II】
- leetcode:Guess Number Higher or Lower II
- [Leetcode]Guess Number Higher or Lower II
- 【Leetcode】Guess Number Higher or Lower II
- [LeetCode] Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II**
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- 375. Guess Number Higher or Lower II
- MySQL常用函数
- Swift类的属性监听器
- 安装Sqlite数据库
- 一位老程序员的心得!
- __xchg 函数的用法
- [LeetCode]374. Guess Number Higher or Lower【&375. Guess Number Higher or Lower II】
- 面试技巧--非技术题
- Win10下配置Apache Http Server与连接CGI
- 最长公共子序列
- 从尾到头打印链表<剑指offer>
- 深度学习笔记(二):简单神经网络,后向传播算法及实现
- libtool: Version mismatch error. 解决方法
- 常用类
- 1181 质数中的质数(质数筛法)