javascript--面试--算法-数组2
题目描述
假设有一个已经排好序的整型数组,要求实现一个使用二分查找的函数,判断某个数字是否出现在该数组中。
考察二分法,使用迭代查找,注意不要使用Math.ceil,会造成最后一次查找陷入死循环;
function in_array(arr, value){ if(!arr.length) return false; if(arr.length == 1) { if(arr[0] == value) { return true; } else { return false; } } var middle = Math.floor(arr.length /2); if(arr[middle] == value) { return true; } else if(arr[middle] > value) { return in_array(arr.slice(0, middle), num); } else { return in_array(arr.slice(middle+1), num); } } var arr = [1, 2, 3, 4, 5, 6, 7]; var num = 0; console.log(in_array(arr, num));
浙公网安备 33010602011771号