拼多多笔试题python程序

第一题
import sys
str_list = [x for x in sys.stdin.readline().strip()]
K = int(len(str_list)/4)
for i in range(K+1):
    if (i == 0):
        j = 1
        line = str_list[0]
        while(j<=K):
            line = line + str_list[j]
            j = j+1
    if (i == K):
        j = 1
        line = str_list[3*K]
        while(j<=K):
            line = line+str_list[3*K-j]
            j=j+1
    if(i!=0 and i!=K):
        line = str_list[-i]
        for j in range(K-1):
            line = line + ' '
        line = line+str_list[K+i]
    print(line)
第二题
import sys

def panduan(lis):
    if(len(lis)==0):
        return 0
    count = 0
    if(len(lis)==1):
        count =count+1
    elif(lis[0] == 0 and lis[-1]==0):
        count = count
    elif(lis[0] == 0 and lis[-1]!=0):
        count=count+1
    elif(lis[0] != 0 and lis[-1] ==0):
        count=count+1
    else:
        count =count+len(lis)
    return count

num_list = [int(x) for x in sys.stdin.readline().strip()]
count = 0
for i in range(len(num_list)-1):
    list1 = num_list[0:i+1]
    list2 = num_list[i+1:]
    count1 = panduan(list1)
    count2 = panduan(list2)
    count = count+count1*count2
print(count)
 第三题       
import sys

list1 = sys.stdin.readline().strip().split()
N = int(list1[0])
M = int(list1[1])
li_total = []
for i in range(N):
    li = [int(x) for x in sys.stdin.readline().strip().split()]
    li_total.append(li)
Max_usr = 0
for i in range(N):
    count = 0
    if i == M:
        continue
    if i in li_total[M]:
        continue
    else:
        for j in li_total[M]:
            if j in li_total[i]:
                count = count + 1
    if(count>Max_usr):
        max_usr_id = i
        Max_usr = count
print(max_usr_id)

第四题
import sys

def find(list2):
    list_new = []
    for i in range(len(list2)):
        if i==0:
            if list2[i]==list2[i+1]:
                list_new.append(list2[i])
        if i>=1 and i<len(list2)-1:
            if list2[i]>=list2[i-1] and list2[i]>=list2[i+1]:
                list_new.append(list2[i])
        if i==len(list2)-1:
            if list2[i]==list2[i-1]:
                list_new.append(list2[i])
    return list_new
if __name__=="__main__":
    list1 = sys.stdin.readline().strip()
    num = int(list1)
    list2 = [int(x) for x in sys.stdin.readline().strip().split()]
    count = 1
    while True:
        list_new= find(list2)
        if (len(list_new)>1):
            count = count+1
            list2 = list_new
        elif(len(list_new)==1):
            count = count+1
            break;
        else:
            break
        
    print(count)

前三道都AC了的,第四题不确定,第四题表示看题看了20分钟才看懂,第四题刚刚写完,还有bug,没来得及调;又花了5分钟,调了一下,两个测试例都能跑通,如果不对望指正。

#拼多多#
全部评论
list1 =sys.stdin.readline().strip().split()  N =int(list1[0]) M =int(list1[1]) 楼主,请问,这里第一句list1是读系统输入的第一个测试用例然后切分吗?N和M分别代表啥? 还有下面这句str_list是读的所有的测试用例吗? str_list = [x for x in sys.stdin.readline().strip()]
点赞 回复 分享
发布于 2019-03-10 10:26
6
点赞 回复 分享
发布于 2018-08-06 13:22
好强
点赞 回复 分享
发布于 2018-08-05 22:38
厉害!
点赞 回复 分享
发布于 2018-08-05 22:35
厉害了 大佬   
点赞 回复 分享
发布于 2018-08-05 21:56

相关推荐

点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务