【一天一道LeetCode】#374. Guess Number Higher or Lower
来源:互联网 发布:mysql主键自增长删除后 编辑:程序博客网 时间:2024/06/03 16:47
一天一道LeetCode
本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github
欢迎大家关注我的新浪微博,我的新浪微博
欢迎转载,转载请注明出处
(一)题目
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.
来源: https://leetcode.com/problems/guess-number-higher-or-lower/
(二)解题
题目大意:猜数游戏,1~n里面的数,首先你心里想一个数num,让对方猜,对方每猜一个数你都要判断比num大还是小,直到对方猜对!
解题思路:采用二分搜索法来猜数效率最高。注意int guess(int num)函数用来返回大还是小。
// 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 i = 0; int j = n; //二分查找法 while(i<=j) { int mid = i+(j-i)/2;//取中点 int flag = guess(mid);//返回大于、小于或等于 if(flag == 0) return mid; else if(flag == -1) j = mid-1; else i = mid+1; } return 0; }};
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 374. Guess Number Higher or Lower
- 374.[LeetCode]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
- 374. Guess Number Higher or Lower | LeetCode
- 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
- Git-基本命令
- Java从文件中跳过n个字节读取数据
- HDU 5733 tetrahedron(三维几何)
- 对象的初始化和回收
- [动态规划]最长公共子序列
- 【一天一道LeetCode】#374. Guess Number Higher or Lower
- Struts中ActionContext和ServletActionContext的比较
- 剑指offer 52题 【数组】 构建乘积数组
- shell脚本练习(二)
- 枚举
- Reactivecocoa中的宏研究1
- 程序员必会的经典排序算法(一)冒泡排序
- js笔记
- 【一天一道LeetCode】#299. Bulls and Cows