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出来以前的说法了...
|
|