笔试时间:2023年4月22日 春招实习  第一题  给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数,第一步必须从第一元素开始,1<=步长<len/2,第二步开始以所在成员的数字走相应的步数,如果目标不可达返回-1,只输出最少的步骤数量。  输入描述  由正整数组成的数组,以空格分隔,数组长度小于100,请自行解析数据数量。  输出描述  正整数,表示最少的步数,如果不存在输出-1。  样例输入     7 5 9 4 2 6 8 3 5 4 3 9    样例输出     2    参考题解  最短路模型。直接BFS即可。  Python:  from collections import  dequenums = [int(c) for c in input().split(" ")]vst = set()q = deque()for i in range(1, len(nums)//2):    q.append((i, 1))    vst.add(i)def solv():    while len(q):        node, w = q.popleft()        if node == len(nums) - 1:            return w        if nums[node] + node <= len(nums) - 1 and nums[node] + node not in vst:            q.append((node + nums[node], w + 1))            vst.add(node + nums[node])    return -1print(solv())  第二题  在nxn方阵里填入1,2,.,nxn,要求填成蛇形。元素1从右上角开始,顺时针排列,例如,n=4时方阵为: 18 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 n <= 8。  输入描述  大于1不超过8的方阵的维数。  输出描述  打印填充后的方阵,每个元素占3个字符位宽。  样例输入     4    样例输出      10 11 12 1    9 16 13 2    8 15 14 3    7 6 5 4    矩阵元素打印占3个字符位宽。  参考题解  Python:  n = int(input())matrix = [[0 for _ in rang
点赞 0
评论 0
全部评论

相关推荐

ResourceUt...:楼主有自己的垃圾箱,公司也有自己的人才库
点赞 评论 收藏
分享
09-17 10:53
四川大学 C++
牛客91242815...:会写标书没有任何卵用,鉴定为横向垃圾导师的受害者
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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