五金外贸网站,建网站报价,微信客户端登录入口,中国做网站最大的公司35.搜索插入位置
给定一个排序数组和一个目标值#xff0c;在数组中找到目标值#xff0c;并返回其索引。如果目标值不存在于数组中#xff0c;返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5 输出: 2 示例 2:
输入: [1,3,5…35.搜索插入位置
给定一个排序数组和一个目标值在数组中找到目标值并返回其索引。如果目标值不存在于数组中返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5 输出: 2 示例 2:
输入: [1,3,5,6], 2 输出: 1 示例 3:
输入: [1,3,5,6], 7 输出: 4 示例 4:
输入: [1,3,5,6], 0 输出: 0
二分查找法 def findplace(ss,target):left0rightlen(ss)-1while leftright:middle (right - left) // 2left
#在两头if ss[0]target:print(0)breakelif ss[len(ss)-1]target:print(len(ss))break
#在中间if ss[middle] target:leftmiddle1if leftright:print(left1)breakelif ss[left]target or (ss[left]target and ss[right]target and right(left1)):print(left)breakelif ss[middle]target:rightmiddle-1if leftright:print(left1)breakelif ss[left]target or (ss[left]target and ss[right]target and right(left1)):print(left)breakif __name____main__:ssinput(s).split()targetstr(input(target))#print(ss)findplace(ss,target)结果