搜狗的第三道笔试题有点搞笑


明明题目描述是胜利者比失败者最少多拿多少,最后发现要改成最多多拿多少才能通过
以测试用例来说
4
1
55
41
2
最少是55+1-41-2=13,可答案得是55+2-41-1=15
#搜狗##搞笑#
全部评论
老哥呀,不是我不顶你,题里面说头尾都可以取…
点赞
送花
回复
分享
发布于 2018-09-14 18:01
搜狗这三个编程题真的就是劝退,欲哭无泪
点赞
送花
回复
分享
发布于 2018-09-14 18:02
秋招专场
校招火热招聘中
官网直投
55 - 41 + 2 -1 = 15 没毛病。。可惜只AC40%。。。
点赞
送花
回复
分享
发布于 2018-09-14 18:01
题目描述:假设它们都希望自己赢
点赞
送花
回复
分享
发布于 2018-09-14 18:01
拿糖果肯定往多了拿呀 虽然我没做出来
点赞
送花
回复
分享
发布于 2018-09-14 18:02
这题只A了40%,,没空优化了,然后第一题最后交的时候发现没导Map的包报错了。。凉了
点赞
送花
回复
分享
发布于 2018-09-14 18:04
小菜鸡来抱团取暖了。我用了一万个for,if,和while,然后结果都出来了,正开心呢,告诉我运行时间太长了
点赞
送花
回复
分享
发布于 2018-09-14 18:05
我算的也是13...到最后都没明白原来是求最多拿多少...
点赞
送花
回复
分享
发布于 2018-09-14 18:13
我也很迷
点赞
送花
回复
分享
发布于 2018-09-14 18:15
import sys import copy def ring(H,n): if n==0: return H[1:] elif n==len(H): return H[:-2] else: for i in range(n): H.append(H[i]) for i in range(n+1): del(H[0]) return H def solve(G,i): #n=0或-1,取了之后删除节点 get_=G[i] del(G[i]) return G,get_ def input_(): #N=int(input()) N=int(sys.stdin.readline()) H=[] for i in range(N): H.append(int(sys.stdin.readline())) return H,N H,N=input_() #每个情况都试一遍 max_val=0 for i in range(N): ming=H[i] hong=0 G=copy.deepcopy(H) ring_=ring(G,i) ind=0 for j in range(N-1): #红拿环里第一个 if j%2==0: if int(ring_[0])>int(ring_[-1]): ring_,val=solve(ring_,0) hong=hong+int(val) else: ring_,val=solve(ring_,-1) hong = hong + int(val) else: if int(ring_[0])>int(ring_[-1]): ring_,val=solve(ring_,0) ming=ming+int(val) else: ring_,val=solve(ring_,-1) ming = ming + int(val) if abs(ming-hong)>max_val: max_val=abs(ming-hong) print(max_val)
点赞
送花
回复
分享
发布于 2018-09-15 09:51

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务