考考眼力,找下代码的bug
这个bug够隐蔽的。
public static int binarySearch(int[] a, int key) ...{
int low = 0;
int high = a.length - 1;
while (low <= high) ...{
int mid = (low + high) / 2;
int midVal = a[mid];
if (midVal < key)
low = mid + 1;
else if (midVal > key)
high = mid - 1;
else
return mid; // key found
}
return -(low + 1); // key not found.
}
}
错误就在:
int mid = (low + high) / 2;
这行的问题是当low和high的和超过2^31-1, 也就是Java里最大整数值时,整数溢出就发生了,而mid就变成负数了, 于是JVM就抓狂了,于是ArrayIndexOutOfBoundsException就发生了。
解决方法是把它改成:int mid = low + ((high - low) / 2);
考考眼力,找下代码的bug相关推荐
- Ironsource sdk在Unity 2019.3.x下代码过时bug
报错:Assets\IronSource\Editor\FacebookSettings.cs(18,48): error CS0619: 'PBXProject.GetUnityTargetName ...
- 故障申报系统php源码,运维不再专业救火 不会PHP照样找出代码性能问题
作者: 凉白开 网站:www.ttlsa.com 身处互联网的SA(运维)们总感叹自己职业的苦逼,Why?我来告诉你:APP奔溃.网站打不开.网站502.搜索缓慢.应用卡顿通通找运维,运营.项目经理. ...
- ie6 7 8下的一些bug和解决办法
1:li边距"无故"增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑 ...
- ie6下常见的bug 调整页面兼容性
ie6下常见的bug 我们布局页面,首先符合标准,如何写一个页面的标准性? 但是ie6等浏览器本身就比较特殊,bug比较多,兵法云,知己知彼百战百胜.我们需要了解ie6的一些常见bug,这样,更好的调 ...
- [转]IE6下的CSS BUG枚举
原文链接:http://luinlee.com/405/ie6csschinese/ 1.终极方法:条件注释.缺点是在IE浏览器下可能会增加额外的HTTP请求数. 代码 <!–[if lte I ...
- 系统入门到实战学习某项技术、有问题找“百度“、学习优秀的技术博客、找开源代码等资料
一.系统入门到实战学习某项技术 先看视频入门到实战(B站.慕课网) 然后看书,再把知识的体系串起来 二.有问题找"百度" 1.学习各种疑惑,问搜索引擎[最大的学习资料库] ■ 搜索 ...
- 代码出现bug时,情商高和情商低程序员表现,产品经理:差太多
微信又改版了,为了方便第一时间看到我们的推送,请按照下列操作,设置"置顶":点击上方蓝色字体"程序员之家"-点击右上角"-"-点击" ...
- Win32环境下代码注入与API钩子的实现
Win32环境下代码注入与API钩子的实现 本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在V ...
- c语言运行时显示内存不足,请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码...
请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码 [size=4][size=5]我编的一个高精度解hilbert方程组的程序段,用的是GS跌代,但运行时出现"虚拟内存不足&qu ...
最新文章
- 给DataGrid添加确定删除的功能
- luogu P1341 无序字母对(欧拉回路应用、模板)
- Velocity的layout功能
- C++ leetCode 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个
- 如何构建一个分布式爬虫:实战篇
- python自动关闭弹窗_python – 每隔x分钟创建一个tkinter窗口,然后在y秒后自动关闭它...
- php页面设置密码,PHP页面输入密码才能访问加密代码
- Java ——异常处理
- gpedit msc组策略面板 win10在哪里_Win10家庭版找不到组策略gpedit.msc的解决方法
- 中文分词软件SCWS
- 是引进外部函数吗_CALCULATE函数的最佳搭档:FILTER
- python集合排序_numpy排序与集合运算用法示例
- The app references non-public selectors in payload With Xcode6.1
- WAP PUSH的SMS PDU解析
- android 画圆环进度条,Android自定义圆形进度条学习
- windows温度监控效果最棒的软件 | Windows桌面优化、功能增强软件
- PC材料热性能五大分析方法(TG,TMA,DSC,DMA,DETA)
- java添加word书签,Jacob操作Word书签
- 达芬奇密码--buuctf密码学
- “新”在哪 | 解密新型云计算数据中心三大关键词