【LeetCode-374】Guess Number Higher or Lower(C++)
来源:互联网 发布:淘宝市场行情软件 编辑:程序博客网 时间:2024/06/08 06:06
题目要求:猜数字,如果猜对了guess函数会返回0,如果没有猜对guess函数会告诉你猜大了还是猜小了。直到你猜出这个数并返回。
解题方法:典型的二分查找。
有一个点需要注意:取中间数的时候一定要这么取: int g=l+(h-l)/2; 因为如果写成 int g=(l+h)/2;会因为(l+h)计算值太大了超过了int的表达范围产生溢出。
两个程序原理是一样的,写法不一样:
// Forward declaration of guess API.// @param num, your guess// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0int guess(int num);class Solution {public: int guessNumber(int n) { int l=1; int h=n; int g=l+(h-l)/2; while(guess(g)!=0){ if(guess(g)==1){ l=g+1; g=l+(h-l)/2; } else{ h=g-1; g=l+(h-l)/2; } } return g; }};
// Forward declaration of guess API.// @param num, your guess// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0int guess(int num);class Solution {public: int guessNumber(int n) { int l=1; int h=n; int g; while(l<h){ g=l+(h-l)/2; if(guess(g)==0) return g; else if(guess(g)==1) l=g+1; else h=g-1; } return l; }};
0 0
- LeetCode[374] Guess Number Higher or Lower
- LeetCode 374: Guess Number Higher or Lower
- LeetCode 374 Guess Number Higher or Lower
- LeetCode 374 Guess Number Higher or Lower
- leetcode 374 Guess Number Higher or Lower
- LeetCode 374:Guess Number Higher or Lower
- Leetcode 374 Guess Number Higher or Lower
- Leetcode Guess Number Higher or Lower 374
- LeetCode 374 Guess Number Higher or Lower
- 【LeetCode-374】Guess Number Higher or Lower(C++)
- LeetCode 374. Guess Number Higher or Lower
- [leetcode] 374. Guess Number Higher or Lower
- [LeetCode] Guess Number Higher or Lower
- LeetCode:Guess Number Higher or Lower
- leetcode之Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- [Leetcode]374. Guess Number Higher or Lower
- leetcode:Guess Number Higher or Lower II
- android中shape的使用总结
- php判斷變量、常量、函數是否存在的判斷
- 策略模式模板模式
- 学习redis
- Git_使用
- 【LeetCode-374】Guess Number Higher or Lower(C++)
- == equals
- CalendarView的使用
- 决策树
- iOS App上架流程(2016详细版)
- git log 中文乱码
- hadoop wordcount demo 编译、打包、运行(自己的经历)
- 十二章
- #254 – 能够装载FlowDocument的容器(Types of Containers for Hosting a FlowDocument)