阿里8.27 笔试 Python代码

1. 给定数组nums,执行k次操作,每次选择一个数+1,求k次之后可能最小的全组最大数。

n, k = map(int,input().split())
nums = list(map(int, input().split()))
maxn = max(nums)
total = sum(nums)+k
if total%n == 0:
    print(max(total//n,maxn))
else:
    print(max(total//n+1, maxn))

2.给定grid,'0'表示可通过,'1'表示不可通过,在[x,y]处有军队(多处),求所有军队集合的最短时间,不能集合返回-1。

n, m = map(int, input().split())
grid = []
for i in range(n):
    row = list(input().strip(''))
    grid.append(row)
k = int(input())
cord = []
for j in range(k):
    x,y = map(int,input().split())
    cord.append([x-1,y-1])
dirs = [[0,-1],[0,1],[-1,0],[1,0]]
def neibors(i,j,visited,grid):
    res = []
    for dx,dy in dirs:
        x = i+ dx 
        y = j+ dy 
        if x in range(n) and y in range(m) and not visited[x][y] and grid[x][y] != '1':
            res.append([x,y])
    return res

def dfs(grid, x, y, cur, visited, new):
    new[x][y] = cur
    visited[x][y] = True
    neibor = neibors(x,y,visited,grid)
    if len(neibor) > 0:
        for i,j in neibor:
            dfs(grid, i, j, cur+1, visited, new)
    return new
def update(m1,m2):
    for i in range(n):
        for j in range(m):
            m1[i][j] = max(m1[i][j], m2[i][j])
    return m1
result = [[0]*m for _ in range(n)]
for x,y in cord:
    new = [[10**10]*m for _ in range(n)]
    visited = [[False]*m for _ in range(n)]
    this = dfs(grid, x, y, 0, visited, new)
    result = update(result, this)
curmin = 10**10
for i in range(n):
    for j in range(m):
        curmin = min(curmin, result[i][j])

if curmin != 10**10:
    print(curmin)
else:
    print(-1)

测试例子
3 3
000
101
000
4
1 1
1 3
3 1
3 3


#阿里笔试##阿里巴巴##笔试题目#
全部评论

相关推荐

03-15 10:59
已编辑
美团_后端开发(实习员工)
爱写代码的菜code...:哎,自己当时拿到字节offer的时候也在感叹终于拿到了,自己当时最想去的企业就是字节,结果还是阴差阳错去了鹅厂。祝uu一切顺利!!!
点赞 评论 收藏
分享
评论
2
13
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
11231次浏览 95人参与
# 你的实习产出是真实的还是包装的? #
1989次浏览 42人参与
# 巨人网络春招 #
11384次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7669次浏览 43人参与
# 简历第一个项目做什么 #
31766次浏览 341人参与
# 重来一次,我还会选择这个专业吗 #
433605次浏览 3926人参与
# MiniMax求职进展汇总 #
24151次浏览 310人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187244次浏览 1122人参与
# 牛客AI文生图 #
21454次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152492次浏览 888人参与
# 研究所笔面经互助 #
118980次浏览 577人参与
# 简历中的项目经历要怎么写? #
310418次浏览 4220人参与
# AI时代,哪些岗位最容易被淘汰 #
63923次浏览 829人参与
# 面试紧张时你会有什么表现? #
30522次浏览 188人参与
# 你今年的平均薪资是多少? #
213171次浏览 1039人参与
# 你怎么看待AI面试 #
180211次浏览 1259人参与
# 高学历就一定能找到好工作吗? #
64342次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76569次浏览 374人参与
# 我的求职精神状态 #
448194次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363565次浏览 2638人参与
# 腾讯音乐求职进展汇总 #
160695次浏览 1112人参与
# 校招笔试 #
471355次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务