leetcode 374
2024-09-09 20:24:36
这个题目很简单,但是要注意细节和对题目的理解,一开始我把guess函数的作用理解错了,第一版代码长这样:
int guessNumber(int n)
{
int low = ;
int high = n; while(low < high)
{
int mid = (high + low) / ;
int g = guess(mid);
if(g == )
return mid;
else if(g > )
low = mid + ;
else
high = mid - ;
} return low; }
在重新读了几次题目之后,第二版代码长这样:
int guessNumber(int n)
{
int low = ;
int high = n; while(low < high)
{
int mid = (high + low) / ;
int g = guess(mid);
if(g == )
return mid;
else if(g < )
low = mid + ;
else
high = mid - ;
} return low; }
但是还是不能正确通过,这很尴尬:查了半天发现是上面标注的那段代码有问题,我一直以为把代码写成最简单的数学表达式是一个好选择,但是这里显然不是这样:因为这样当high和low都比较大时,这是会导致溢出!所以有了第三个版本的代码:
int guessNumber(int n)
{
int low = ;
int high = n; while(low < high)
{
int mid = low + (high - low) / ;
int g = guess(mid);
if(g == )
return mid;
else if(g < )
low = mid + ;
else
high = mid - ;
}
return low;
}
最新文章
- 关于csrss.exe和winlogon.exe进程多、占用CPU高的解决办法,有人在暴力破解
- 带有“非简单参数”的函数为什么不能包含 ";use strict"; 指令
- espcms简约版的表单,提示页,搜索列表页
- Linux下随机密码生成器
- HTML之电话: 邮箱: 网址
- Atitit 五种IO模型attilax总结&#160;blocking和non-blocking&#160;synchronous IO和asynchronous I
- php随机生成指定长度的字符串 可以固定数字 字母 混合
- Tiny Rss Reader - 迷你RSS阅读器
- .net控件事件中的Sender
- POJ 1584 A Round Peg in a Ground Hole(判断凸多边形,点到线段距离,点在多边形内)
- django开发框架-view & template
- PHP源代码分析(第一章):Zend HashTable详解【转】
- &;lt;%%&;gt;创建内联代码块(表达)
- C#中的ArrayList
- c++:自己动手实现线程安全的c++单例类
- Unity配置安卓开发环境
- MemSQL与MySQL不兼容问题总结
- hdu2642二维树状数组单点更新
- 记时,耗时,Stopwatch
- java集合框架03——ArrayList和源码分析
热门文章
- 【BZOJ3343】教主的魔法 分块+二分
- 【异常】java.lang.LinkageError: loader constraints violated
- BZOJ4532: [BeiJing2014 WinterCamp] 珠链
- js-小效果-瀑布流
- 转 Datatables中文API——基本参数
- nodejs怎么同步从一个数据库查询函数中返回一个值
- webservice的Axis2入门教程java版
- Qt Load and Save Image Dialog 加载图片对话框
- Odoo Xml Datetime 类型显示为 Date类型
- firefox如何禁用JavaScript