Bootstrap

033 二分法

1.二分法步骤

1.候选区间

2.不断循环:
        2.1.计算中点:mid=(left+right)/2

        2.2判断中点是否合法mid=(left+right)/2,根据重点的计算结果调整[left,right]

2.二分用途

1.查找有序列表a中元素x的下标

      常见部分的二分:bisect——数组二分查找算法

2.浮点二分

3.二分答案

3.例:

浮点二分,计算根号2,x的平方>0具有单调性,保留三位小数

left,right=1,2  #先找出左右区间
for i in range(50):  #循环50次肯定能获得一个比较准确的结果,数字也可以更大
    mid=(left+right)/2
    if mid*mid>2:  #在右半部分
        right=mid
    else: #在左半部分
        left=mid
print("{:.3f},{:.3f}".format(left,right))
# 结果:1.414,1.414
# 二分答案题型,当所求答案为整数且具有单调性质,采用猜答案+二分
# 确定初始范围:[left,right]
# 当left<=right时
# mid=(left+right)//2
# 判断mid是否合法:
# 如果合法,更新ans
# 调整左右区间:left=mid+1
# right=mid-1

写一下:364

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;