tsdblogs

2018网易数据挖掘方向在线笔试题

第一题:斑马条纹,题目如下图.

代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二题:住房子:题目如下

代码如下:

def min_max(n,k):
    min=0
    max=0
    if k==0 or k==1:
        max=0
    elif k>1:
        if n>=2*k-1:
            max=k-1
        if n<2*k-1:
            max=n-k
    return min,max

t=int(input().strip())
list=[]
for i in range(t):
    n,k=[int(j) for j in input().strip().split(" ")]
    min,max=min_max(n,k)
    list.append(min)
    list.append(max)

for i in range(0,len(list)-1,2):
    print(\'{} {}\'.format(list[i],list[i+1]))

运行如下:

6
1 0
1 1
2 0
2 1
2 2
6 4


0 0
0 0
0 0
0 0
0 0
0 2

Process finished with exit code 0

 

 

第三题:题目如下。

代码如下:

 

n,m=[int(i) for i in input().strip().split(" ")]
capcity=[int(i) for i in input().strip().split(" ")]#记录每层剩余容量(还可以装多少香槟)
empty=[i for i in capcity]#记录每层原始容量
command=[]
for i in range(m):
    tmp=[int(i) for i in input().strip().split(" ")]
    command.append(tmp)#记录指令
for list in command:
    if list[0]==2:
        tmp_cap=list[2]
        for i in range(list[1],0,-1):
            if tmp_cap <= capcity[list[1]-1]:
                capcity[list[1] - 1]-=tmp_cap
                break
            else:
                tmp_cap-=capcity[list[1] - 1]
                capcity[list[1] - 1] = 0
    else:
        target=empty[list[1]-1]-capcity[list[1]-1]#每层香槟容量=每层原始容量-每层剩余容量
        print(target)

运行如下:

1 2
8
2 1 9
1 1
8

 



发表于 2018-09-08 23:39  tanshoudong  阅读(1195)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: