由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 听说binary search程序非常难写对,是吗?
相关主题
问一个关于binary search的问题为什么我写的binary search 比 linear还慢?
Amazon二面这题也可以DP 解吧?
Binary search很靠基本功啊刚面完 google,题目
lc新题,贴个刚写的solution请教一个常见的面试题的答案
A Simple Question on Binary SearchC++ Q23: if if else
大牛看看为撒这个sqrt binary search过不了OJ面试题:两个有序数组中的最小差值
求个查找turn point的binary search code大家在编简单的程序时能做到bug free吗?
有没有人总结过binary search是mid加减1和小于或者等于的情况分类问一个问题: binary search Tree的删除用java实现。
相关话题的讨论汇总
话题: mid话题: arr话题: int话题: low话题: key
进入JobHunting版参与讨论
1 (共1页)
n********r
发帖数: 719
1
看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现
听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢!
int binarysearchR(int arr[], int low, int high, int key){
if((low>high)||(low<0)) return -1;
int mid=low+(high-low)/2;
if (arr[mid]==key) return mid;
if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key);
if (arr[mid]
}
int binarysearch(int arr[], int low, int high, int key){
if(low<0) return -1;

while(low<=high){
int mid=low+(high-low)/2;
if (arr[mid]==key) return mid;
else if (arr[mid] else high=mid-1;


}
return -1;
}
b*******l
发帖数: 590
2
第一个至少可以这么改进一下:
int binarysearchR(int arr[], int low, int high, int key){
if(low>=high||low<0) return -1;
int mid=(low+high)/2;
if (arr[mid]==key) return mid;
if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key);
if (arr[mid] }

【在 n********r 的大作中提到】
: 看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现
: 听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢!
: int binarysearchR(int arr[], int low, int high, int key){
: if((low>high)||(low<0)) return -1;
: int mid=low+(high-low)/2;
: if (arr[mid]==key) return mid;
: if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key);
: if (arr[mid]:
: }

h**6
发帖数: 4160
3
Onsite面试白板binary search绝对要命。
p*****p
发帖数: 379
4
+1
还有sort之类和下标有关的

【在 h**6 的大作中提到】
: Onsite面试白板binary search绝对要命。
d**********x
发帖数: 4083
5
无所谓,能写出这个就行了。

【在 n********r 的大作中提到】
: 看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现
: 听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢!
: int binarysearchR(int arr[], int low, int high, int key){
: if((low>high)||(low<0)) return -1;
: int mid=low+(high-low)/2;
: if (arr[mid]==key) return mid;
: if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key);
: if (arr[mid]:
: }

x*********w
发帖数: 533
6

据说95%的程序员无法一次写出正确的二分,一次指的是不限时。
不过这是在leetcode出来以前的说法了...

【在 n********r 的大作中提到】
: 看书上说虽然算法1946年就出现了,但是第一个没有bug的程序到1962年才出现
: 听起来挺恐怖的,写了一下,麻烦大牛给看两眼有木有bug,谢谢!
: int binarysearchR(int arr[], int low, int high, int key){
: if((low>high)||(low<0)) return -1;
: int mid=low+(high-low)/2;
: if (arr[mid]==key) return mid;
: if (arr[mid]>key) return binarysearchR(arr, low, mid-1, key);
: if (arr[mid]:
: }

l*********8
发帖数: 4642
7
leetcode 改变世界!

【在 x*********w 的大作中提到】
:
: 据说95%的程序员无法一次写出正确的二分,一次指的是不限时。
: 不过这是在leetcode出来以前的说法了...

1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个问题: binary search Tree的删除用java实现。A Simple Question on Binary Search
请教个问题,这个程序错在哪里?大牛看看为撒这个sqrt binary search过不了OJ
请教一个binary search tree和heap的问题。求个查找turn point的binary search code
问个变相的binary search的问题有没有人总结过binary search是mid加减1和小于或者等于的情况分类
问一个关于binary search的问题为什么我写的binary search 比 linear还慢?
Amazon二面这题也可以DP 解吧?
Binary search很靠基本功啊刚面完 google,题目
lc新题,贴个刚写的solution请教一个常见的面试题的答案
相关话题的讨论汇总
话题: mid话题: arr话题: int话题: low话题: key