Binary Search in Value

用法

Binary Search in Value的问题一般不像Binary Search in Sorted Array那样容易辨认出来。因为Binary Search in Sorted Array的问题如果给定sorted array或者我们可以去sort array,思路会比较明显。但是Binary Search in Value的问题还是可以辨别出特征的。主要特征有两点:

  • 暴力解法的时间复杂度是O(n),这个和Binary Search in Sorted Array一样,因为做的是point query,所以最坏也就是把整个区间扫一遍,时间复杂度是O(n),如果暴力法时间复杂度很高才可以,那很有可能这道题不能用binary search。

  • 我们做的是point query,找的是那个分割线。这个分割线可以让我们每次把搜索的范围减半。

题目

求sqrt

  • Leetcode 367. Valid Perfect Square (先用binary search求sqrt,然后乘回来)
  • Leetcode 374. Guess Number Higher or Lower
  • Leetcode 400. Nth Digit
  • Leetcode 69. Sqrt(x)
  • Leetcode 410. Split Array Largest Sum

results matching ""

    No results matching ""