算法99---丰收(网易笔试)--二分查找

Posted lee-yl

tags:

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

技术图片

技术图片

思路:

加和+二分查找

 

 代码:

n = int(input())
ns = list(map(int, input().split()))
m = int(input())
q = list(map(int, input().split()))
 
for i in range(1, n):
    ns[i] += ns[i-1]
for i in q:
    l, r =0, n-1
    while l < r:
        mid = (l +r) >> 1
        if ns[mid] < i:
            l = mid + 1
        else:
            r = mid
    print(r + 1)

 

以上是关于算法99---丰收(网易笔试)--二分查找的主要内容,如果未能解决你的问题,请参考以下文章

浅谈算法-二分查找

笔试算法题:冒泡排序(Bubble Sort),二分查找,二叉树三种遍历

Python 二分查找算法

PHP算法之二分查找

基础算法(数据结构笔试复测Leecode牛客)

二分查找常见笔试面试题