二分搜索的3种正确写法
2014-06-28 20:55
239 查看
(1)闭区间写法
while(left<=right){ mid=(left+right)/2; if(array[mid]==value) return mid; if(array[mid]>value) right=mid-1; else left=mid+1; }
(2)左闭右开区间写法
while(left<right){ mid=(left+right)/2; if(array[mid]==value) return mid; if(array[mid]>value) right=mid; else left=mid+1; }
(3)左开右闭区间写法
while(left<right){ mid=(left+right+1)/2; if(array[mid]==value) return mid; if(array[mid]>value) right=mid-1; else left=mid; }
相关文章推荐
- T044 二分搜索(含鬼畜压行写法)
- 《编程珠玑》---编写正确的二分搜索程序
- 正确的二分搜索代码
- 怎样写出一个正确的二分搜索
- 关于二分搜索的写法以及正确性证明的思考
- 面试杂题(三)有序数组中连续k的个数(含二分搜索的递归非递归写法)
- 34. Search for a Range 史上最简洁的二分搜索的写法
- 编程珠玑读书笔记之------>一个正确的二分搜索代码
- 写好正确的二分搜索
- 模板:二分搜索技术
- 二分查找的两种正确实现
- 递归方法实现二分搜索
- poj 2785 排序+二分搜索
- POJ 3258 River Hopscotch (二分搜索)
- 二分搜索
- javascript的ajax请求正确写法(兼容多浏览器)
- C++关于类成员函数指针的正确写法
- 关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误
- ※ Leetcode - Array - 169. Majority Element(快速找出数组中出现过一半以上次数的数,3种写法)
- poj 2391 floyd + 二分搜索 + 拆点建图 + dinic