skip to content

🔢迭代法

二分查找

['a', 'b', 'c', 'd', 'e', 'f', 'g'] 中查找 'f'

const searchWord = (dictionary, wordToFind) => {
  let left = 0
  let right = dictionary.length - 1
  while (left <= right) {
    let middle = Math.floor((left + right) / 2)
    if (dictionary[middle] === wordToFind) {
      return true
    } else {
      if (dictionary[middle] > wordToFind) {
        right = middle - 1
      } else {
        left = middle + 1
      }
    }
  }
  return false
}
let dictionary = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
let wordToFind = 'f'
searchWord(dictionary, wordToFind)
下一篇
余数