YuJian
3 years ago
2 changed files with 34 additions and 0 deletions
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
const indexOf_BinarySearch = (dataArr: number[], num: number): number => { |
||||
let n1 = 0; |
||||
let n2 = dataArr.length - 1; |
||||
|
||||
if (n1 === num) return n1; |
||||
if (n2 === num) return n2; |
||||
|
||||
while (n1 <= n2) { |
||||
const mid = Math.floor((n1 + n2) / 2); |
||||
|
||||
if (num > dataArr[mid]) { |
||||
n1 = mid + 1; |
||||
} else if (num < dataArr[mid]) { |
||||
n2 = mid - 1; |
||||
} else { |
||||
return mid; |
||||
} |
||||
} |
||||
|
||||
return -1; |
||||
}; |
||||
|
||||
// const arr = [];
|
||||
// for (let index = 0; index < 100000000; index++) {
|
||||
// arr.push(index);
|
||||
// }
|
||||
|
||||
// console.time("indexOf_BinarySearch");
|
||||
// indexOf_BinarySearch(arr, 99999999)
|
||||
// console.timeEnd("indexOf_BinarySearch");
|
||||
|
||||
// console.time("indexOf");
|
||||
// arr.indexOf(99999999)
|
||||
// console.timeEnd("indexOf");
|
Loading…
Reference in new issue