欢迎来到IT嘟嘟的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

腾讯2019年暑期实习生招聘在线笔试技术研究和数据分析方向第二题(python)

 

def printindex(n,arr):
    # n =  int(input())
    # arr = list(map(int,input().split(' ')))
    li1=[]
    li2=[]
    for i in range(n):
        if(arr[i]<0):
            li1.append(i)
        else:
            li2.append(i)
    index = 0
    for i in li2:
        for j in li1:
            if abs(arr[i]>abs(arr[j])):
                index +=abs(j-i)*abs(arr[j])
                arr[i] = arr[i] -abs(arr[j])
                arr[j] =0
            else:
                index +=abs(j-i)*abs(arr[i])
                arr[j] = arr[j]+arr[i]
                arr[i]=0
                break
    return index
    # print(index)
if __name__ == '__main__':
    test1 = {'l1': [5], 'l2': [5, -4, 1, -3,1], 'result': [9]}
    # test2 = {'l1': [2, 2], 'l2': [4, 6], 'result': [4 ,2]}
    test = [test1]
    count = 0
    for t in test:
        if printindex(t['l1'], t['l2']) == t['result']:
            count += 1
        else:
            print('l1:', t['l1'], '\nl2:', t['l2'], '\nOutput:', printindex(t['l1'], t['l2']), '\nExpect:',
                  t['result'])
    print('Case通过率:', count * 100 / len(test), '%')

  

 

posted on 2019-04-08 11:06  IT嘟嘟  阅读(799)  评论(0编辑  收藏  举报

导航