二分查找有序数组中最左边的数
程序员文章站
2024-03-15 20:42:12
...
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 如果目标值存在返回下标,否则返回 -1
# @param nums int整型一维数组
# @param target int整型
# @return int整型
#
class Solution:
def search(self , nums , target ):
# write code here
if not nums:
return -1
l,r = 0, len(nums)-1
while l < r:
mid = (r+l)//2 #偶数的话,指针停在左半边
if nums[mid] > target:
r = mid - 1
elif nums[mid] < target:
l = mid + 1
else:
r = mid
if nums[l] != target:
return -1
return r
上一篇: HTML部分标签的使用方法
下一篇: ATM 机的循环输入的思考
推荐阅读
-
二分查找有序数组中最左边的数
-
符号表以及在有序数组中的二分查找
-
C在一段有序数组中判断一个数是否在这个数组中(二分查找)
-
二分查找--查找重复有序数组中最左边的target
-
编程题 - 二分搜索查找有序数组的插入位置
-
算法007:二分查找 请实现有重复数字的有序数组的二分查找,输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一
-
Java有序数组数据结构与二分查找算法的分析
-
Java有序数组数据结构与二分查找算法的分析
-
算法007:二分查找 请实现有重复数字的有序数组的二分查找,输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一
-
C语言用函数实现,二分法查找有序数组中的数,若没有返回1