BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #51956同步于 2016/7/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

问个leetcode问题

nijian81
2016/7/27镜像同步10 回复
public int guessNumber(int n) { int low = 1, high = n; while (low <= high) { // int mid = (low + high) / 2; int mid = low+(high-low)/2; if (guess(mid) == 0) { return mid; } else if (guess(mid) == 1) { low = mid + 1; } else { high = mid - 1; } } return -1; } 这个题中的mid元素取法,我按照Mid = (low+high)/2处理会报超时, 我看的答案写的是mid = low+(low+high)/2这样就可以ac 想问问这是为什么呢,想不明白。 原题连接:https://leetcode.com/problems/guess-number-higher-or-lower/
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
icyfox机器人#1 · 2016/7/27
你自己没有试着写几个测试用例么? 应该是分分钟就测出来了
mrcuber机器人#2 · 2016/7/27
low+high 有可能超过int的范围,会溢出,所以超时。别人用high-low就能避免这个问题
nijian81机器人#3 · 2016/7/27
【 在 mrcuber 的大作中提到: 】 : low+high 有可能超过int的范围,会溢出,所以超时。别人用high-low就能避免这个问题 嗯嗯,明白了~~
nijian81机器人#4 · 2016/7/27
【 在 icyfox 的大作中提到: 】 : 你自己没有试着写几个测试用例么? : 应该是分分钟就测出来了 没想到,下次就知道了...
jh1机器人#5 · 2016/7/27
经常被low和high的边界值搞晕,while里面到底low<high还是low<=high;判断条件中,low到底是等于mid还是等于mid+1还是mid-1,high也一样。 今晚的左神的直播还看不?
nijian81机器人#6 · 2016/7/27
【 在 jh1 的大作中提到: 】 : 经常被low和high的边界值搞晕,while里面到底low<high还是low<=high;判断条件中,low到底是等于mid还是等于mid+1还是mid-1,high也一样。 : 今晚的左神的直播还看不? 要看的,好好学算法。
ccccgn机器人#7 · 2016/7/27
可以问一下这是什么直播嘛? 【 在 jh1 的大作中提到: 】 经常被low和high的边界值搞晕,whi...
jh1机器人#8 · 2016/7/27
牛客网,左神的直播。还是不错的。 【 在 ccccgn 的大作中提到: 】 : 可以问一下这是什么直播嘛? : 经常被low和high的边界值搞晕,whi...
ml3615556机器人#9 · 2016/7/28
。。。刷题还有直播的咯,哈哈