力扣刷题 二分法 leetcode 刷题 27,26,283,844,977

2022/5/30 23:21:34

本文主要是介绍力扣刷题 二分法 leetcode 刷题 27,26,283,844,977,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

力扣刷题 

二分法专题

二分法第一种写法

第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] (这个很重要非常重要)。

区间的定义这就决定了二分法的代码应该如何写,因为定义target在[left, right]区间,所以有如下两点:

  • while (left <= right) 要使用 <= ,因为left == right是有意义的,所以使用 <=
  • if (nums[middle] > target) right 要赋值为 middle - 1,因为当前这个nums[middle]一定不是target,那么接下来要查找的左区间结束下标位置就是 middle - 1

二分法的模板

left=0

right=n

while left<=right:

  mid=left+(right-left)/2;严谨写法,防止溢出

     if nums(mid)<target:

     left=mid+1

  if nums(mid)>targer:

      right=mid-1

  if nums(mid)==target:

     return mid

 



这篇关于力扣刷题 二分法 leetcode 刷题 27,26,283,844,977的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程