2019应届毕业生,网易算法工程师笔试题第二题

第一题

2019应届毕业生,网易算法工程师笔试题第一题

题目描述

又到了丰收的季节,恰好小易去牛牛的果园里游玩。 牛牛常说他多整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。 牛牛觉得问题太简单了,所以希望你来替他回答。

输入描述:

第一行一个数n(1<=n<=10^5) 第二行n个数ai(1<=ai<=1000),表示从左往右数第i堆有多少苹果 第三行一个数m(1<=m<=10^5),表示有m次询问 第四行m个数qi,表示小易希望知道第qi个苹果属于哪一堆。

输出描述:

m行,第i行输出第qi个苹果属于哪一堆。

输入例子1:

5
2 7 3 4 9
3
1 25 11

输出例子1:

1
5
3

参考代码

import sys
try:
    while True:
        line1 = sys.stdin.readline().strip()
        if line1 == '':
            break
        line2 = sys.stdin.readline().strip()
        if line2 == '':
            break
        line3 = sys.stdin.readline().strip()
        if line3 == '':
            break
        line4 = sys.stdin.readline().strip()
        if line4 == '':
            break
        line1 = [int(i) for i in line1.split()]
        line2 = [int(i) for i in line2.split()]
        line3 = [int(i) for i in line3.split()]
        line4 = [int(i) for i in line4.split()]
        total = []
        sum = 0
        for i in line2:
            sum += i
            total.append(sum)
        total_ = [i for i in total]
        for i in line4:
            total = [i for i in total_]
            total.append(i)
            total.sort()
            print(total.index(i) + 1)

except:
    pass

猜你喜欢

转载自blog.csdn.net/qq_15969343/article/details/81603530