704. 二分查找

Posted panweiwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了704. 二分查找相关的知识,希望对你有一定的参考价值。

技术图片

 

 技术图片

 

 三种写法都过。

代码一:

 1 class Solution(object):
 2     def search(self, nums, target):
 3         """
 4         :type nums: List[int]
 5         :type target: int
 6         :rtype: int
 7         """
 8         if target in nums:
 9             return nums.index(target)
10         else:
11             return -1

代码二:

 1 class Solution(object):
 2     def search(self, nums, target):
 3         """
 4         :type nums: List[int]
 5         :type target: int
 6         :rtype: int
 7         """
 8         i, j = 0, len(nums)-1
 9 
10         while i <= j:
11             mid = int((i+j) / 2)
12             if nums[mid] == target:
13                 return mid
14             elif nums[mid] < target:
15                 i = mid+1
16             else:
17                 j = mid-1
18         return -1

代码三:

 1 class Solution(object):
 2     def search(self, nums, target):
 3         """
 4         :type nums: List[int]
 5         :type target: int
 6         :rtype: int
 7         """
 8         i, j = 0, len(nums)-1
 9         if i == j and nums[i] == target:
10             return i
11         while i <= j:
12             mid = i + int((j - i) / 2)
13             if nums[mid] == target:
14                 return mid
15             elif nums[mid] < target:
16                 i = mid+1
17             else:
18                 j = mid-1
19         return -1

 

以上是关于704. 二分查找的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Algorithm 704. 二分查找

LeetCode第3天 - 704. 二分查找 | 35. 搜索插入位置

代码随想录算法训练营第一天 | 704. 二分查找27. 移除元素

代码随想录算法训练营第一天 | 704. 二分查找27. 移除元素

704. 二分查找

LeetCode.704 二分查找