迷宫问题:把传入的矩阵matrix,扩成每行每列各三个matrix(共9个)的大矩阵,从最左上角的小matrix中的‘S’出发,沿可走的路径寻找,如果能找找到其它的‘S’,则是通的,s出发就能到无穷多位置 import numpy as np def s_location(matrix):#定位S在矩阵中位置     for i in range(len(matrix)):         if 'S' in matrix[i]:             j = matrix[i].index('S')             return [i, j] def findanother_S(matrix, i, j):#在大矩阵中沿可通过路径寻找其它S,若找到则说明是连通的     if i<0 or i>=len(matrix) or j<0 or j>= len(matrix) or matrix[i][j] == '#':         return False     if matrix[i][j] == 'S':         return True     if findanother_S(matrix, i + 1, j):         print(i+1, j)         return True     if findanother_S(matrix, i - 1, j):         print(i-1, j)         return True     if findanother_S(matrix, i, j + 1):         print(i, j+1)         return True     if findanother_S(matrix, i, j - 1):         print(i, j-1)         return True     return False def isok(matrix):#判断matrix矩阵中S是否可以到达无穷多位置     i, j = s_location(matrix)  # i,j     matrix = np.array(matrix)#把matrix变成每行、每列各3个(共九个)matrix的大矩阵     matrix = np.concatenate([matrix] * 3, axis=1)     matrix = np.concatenate([matrix] * 3, axis=0)     matrix[i][j] = '#'     print(matrix)     if findanother_S(matrix, i + 1, j):         print(i+1,j)         return True     if findanother_S(matrix, i - 1, j):         print(i-1,j)         return True     if findanother_S(matrix, i, j + 1):         print(i,j+1)         return True     if findanother_S(matrix, i, j - 1):         print(i,j-1)         return True     print(i,j)     return False if __name__== '__main__':     matrix1 = [['S', '#'], ['#', '.']]     matrix2 = [['.', '.', '.'], ['#', '#', '#'], ['#', 'S', '#']]     result = isok(matrix2)     print(result)
点赞 2

相关推荐

求问大家offer选择:offer1:&nbsp;字节抖音商业化战略运营&nbsp;base北京薪资&nbsp;n*15+签字费优点:-抖音业务成熟,平台认可度较高-战略的bar挺高,离老板比较近。-自己的长期职业发展不想一直在互联网做分析,想去vc,战略离vc挺近的。缺点:-起薪不太高,但hours很长。-做的是战略分析的事情,面试是战略分析的难度,但开的薪资和岗位title是运营,跳槽以后很难再去分析岗,或者向上去战略岗。-战略卷汇报多,个人不是特别喜欢看不到收益的岗位。-担心有一些pmo性质offer2:&nbsp;快手商分薪资:n*16优点:-是return所以对工作内容了解,工作内容很落地,可以拿好项目-电商业务核心,起薪高,开的价格让人无法拒绝缺点:-对平台的前景比较堪忧,对个人能力的提升担忧-给的工资太高了offer3:&nbsp;滴滴商家运营薪资:n*15优点:-国际化业务,增量比较大-英语为工作语言,出差机会多缺点:-薪资为几家中最低,且要跨时区沟通offer4:&nbsp;宝洁cbd薪资&nbsp;n*14优点:-做的是实打实的业务,很落地-和渠道打交道多,社会化的较快-轮岗机制,宝洁培训体系好,可以能力全面提升。缺点:-和过往经历太不一样,不认为自己擅长销售-销售背kpi,且之后很难转岗商分运营个人bg:加本top2经济,藤校统计硕士,三段互联网大厂实习,一段快消实习,主要想看未来发展,之后想做视频/短剧业务的商分or战投
点赞 评论 收藏
分享
我报的技术方向。之前刷题比较多所以编程题感觉还行,不过第三题还是很难的,最后没ac。选择题就比较懵了,前面好几道全是大模型相关的,什么SFT之类的,有的题选项看着都差不多,只能靠感觉选了。后面几道计算机基础的选择题的还好,正常八股文难度,应该没啥大问题。说一下编程题吧。第一题,给个区间问有多少个因子数量是奇数的数。这玩意就是个简单数论,以前刷题多的话一眼就能看出来,只有完全平方数的因子数量是奇数个,相当于求区间的完全平方数数量,直接秒了。第二题,超级斐波那契,前k项是1,后面每项是前k项的和。直接写暴力肯定超时,想了一下发现相邻两项做个差就能把求和消掉,这道题比较快也ac了。第三题是个图论,每个节点的权值是它当前的度数加上编号,然后支持删边和查询连通块最大权值。删边会导致度数发生变化,权值也会跟着变。这种删边问题很容易想到离线,把操作反过来,这样删边就变成加边了,可以直接用并查集来维护。不过这题估计是细节写挫了,最后wa了几个点没调出来,还是很寄的,考完不知道最后排名咋样。总体来说感觉还可以吧,感觉前一段时间刷牛客的公司真题挺有用的。我刚刚发现上周考的美团真题已经上了:https://www.nowcoder.com/exam/company?questionJobId=10&amp;subTabName=written_page&nbsp;,把第三题重新写了一下,最后ac了。感觉还是考场上紧张导致最后wa了。选择题这方面大家有没有学习的资料啊,感觉ai这些啥都不会啊,有没有大佬教教QWQ
查看3道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务