首页 > 其他分享 > # 二分法

# 二分法

时间:2023-09-16 16:23:22浏览次数:28  
标签:index return target 二分法 middle num

l.sort()
def index(l, target_num):
  if len(l) == 0:
    print('没找到')
    return
  middle_index = len(l) // 2
    if l[middle_index] < target_num:
      l_right = l[middle_index + 1:]
      return index(l_right, target_num)
    elif l[middle_index] > target_num:
      l_left = l[:middle_index]
      return index(l_left, target_num)
    else:
      print('找到了')

 

index(l, 6)

标签:index,return,target,二分法,middle,num
From: https://www.cnblogs.com/wellplayed/p/17706887.html

相关文章

  • 二分法demo
    1.python实现frommathimportfloorarr=[1,2,3,4,5,6,8,9,10,11]left=0right=len(arr)-1res=7while(left<=right):mid=floor((left+right)/2)if(arr[mid]<res):left=mid+1elif(arr[mid]>res):......
  • 二分法及其变体问题
    描述给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,......
  • Leetcode刷题笔记——二分法
    二分法是搜索算法中极其典型的方法,其要求输入序列有序并可随机访问。算法思想为输入:有序数组nums,目的数值target要求输出:如果target存在在数组中,则输出其index,否则输出-1将原数组通过[left,right]两个索引划分范围,初值left=0,right=数组的最后一个元素当left<=right时mid......
  • 月度开销--二分法
    【题目描述】农夫约翰是一个精明的会计师。他意识到自己可能没有足够的钱来维持农场的运转了。他计算出并记录下了接下来N(1≤N≤100,000)天里每天需要的开销。约翰打算为连续的M(1≤M≤N)个财政周期创建预算案,他把一个财政周期命名为fajo月。每个fajo月包含一天或连......
  • 7-18 二分法求多项式单根 (20分)
    7-18 二分法求多项式单根 (20分)二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)<0,则计算中点的值f((a+b)/2)......
  • 二分法查找目标元素在数组中的索引
    /***给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,*如果目标值存在返回下标,否则返回-1。*输入:nums=[-1,0,3,5,9,12],target=9*输出:4*解释:9出现在nums中并且下标为4......
  • 二分法
    使用条件有序数组元素不重复区间设置左闭右闭:左右区间边界都要在数组的索引有效范围内(left=0,right=数组长度-1)判断条件left(左边界)<=right(右边界)左闭右开左区间边界在数组的有效索引范围内,右边界不在(left=0,right=数组长度)判断条件left(左边界)<right(右......
  • 二分法 三元表达式 生成式 匿名函数 内置函数
    目录二分法三元表达式生成式列表生成式字典生成式集合生成式元组生成式(生成器)匿名函数内置函数二分法二分法思路1.二分法的使用前提条件:列表中得数字必须要有序2.将对象整除2分成两部分3.将目标数值与分割后的对象做比较来确定目标数值在哪一部分4.继续重复这两个步骤直至......
  • 算法之二分法、三元表达式、列表生成式、字典生成式(了解)、匿名函数、常见的内置函数
    算法之二分法二分概念二分算法,又称折半查找,即在一个单调有序的集合中查找一个解。每次分为左右两部分,判断解在哪个部分中并调整上下界,直到找到目标元素,每次二分后都将舍弃一半的查找空间。定义and实现:算法就是解决问题的高效办法常见的算法:二分法算法还可以锻炼我们的......
  • 二分法应用——搜索旋转数组,以前一直在纠结a[0],a[-1],a[mid], target三者关系,其实最
    62·搜索旋转排序数组  描述给定一个有序数组,但是数组以某个元素作为支点进行了旋转(比如,0124567可能成为4567012)。给定一个目标值target进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。背完这套刷题模板,真......