人生第一次ac三题居然是内推坑我的网易,内附代码

斑马,翻牌,倒香槟。内推时面的人工智能事业部没hc挂了,这次换杭研同一个岗,希望有个好结果把。

斑马:纯模拟
import sys

if __name__ == '__main__':
str = sys.stdin.readline().strip()

max_res, temp_res = 0, 1
for i in range(1, len(str)):
if str[i] == str[i - 1]:
if str[0] != str[-1]:
str = str[:i][::-1] + str[i:][::-1]
else:
max_res = max(max_res, temp_res)
temp_res = 1
continue
temp_res += 1

max_res = max(max_res, temp_res)
print(max_res)

翻牌:找规律
def get_negative_block(n, m):
if n == 1 and m == 1:
return 1
if n == 2 or m == 2:
return 0
if n == 1 and m > 2:
return m - 2
if n > 2 and m == 1:
return n - 2
return (n - 2) * (m - 2)

倒香槟:纯模拟
import sys

if __name__ == '__main__':
n, m = map(int, sys.stdin.readline().strip().split()))
max_v = list(map(int, sys.stdin.readline().strip().split()))
cur_v = [0] * n
order = list(map(int, sys.stdin.readline().strip().split()))
while order:
if order[0] == 1:
print(cur_v[order[1] - 1])
else:
put_in, put_v = order[1] - 1, order[2]
while put_v and put_in < n:
if (max_v[put_in] - cur_v[put_in]) > put_v:
cur_v[put_in] += put_v
put_v = 0
else:
put_v -= max_v[put_in] - cur_v[put_in]
cur_v[put_in] = max_v[put_in]
put_in += 1
order = list(map(int, sys.stdin.readline().strip().split()))


#网易##内推##笔试题目#
全部评论
题目不一样?
点赞 回复 分享
发布于 2018-09-08 17:35
翻牌跟你一样,但是只有10
点赞 回复 分享
发布于 2018-09-08 18:15

相关推荐

2024-11-29 09:42
晋中信息学院 C++
贺兰星辰:我说真的,这简历你自己愿意读一遍吗...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务