我正在实施二进制搜索算法,但我面临返回语句问题。这是我的方法 binarySearch()实现
SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
任何帮助都将不胜感激。
由于
答案 0 :(得分:3)
可能在没有值的数组上调用此方法。
你可以
return 0;
在方法调用结束时。还是......
throw new RuntimeException("Value not found in array");
适用于此代码的任何人。
答案 1 :(得分:1)
您的函数不会返回所有路径。
public static int binarySearch(int[] a, int n, int x) {
int start = 0;
int end = n - 1;
int result = 0; // Or something you define yourself for not found case
while (start <= end) {
int mid = (start + end) / 2;
if (a[mid] == x) {
result = mid;
} else if (a[mid] < x) {
start = mid + 1;
} else {
end = mid - 1;
}
}
return result;
}