700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【面试题】网易互娱(游戏)校园招聘笔试 - 服务端开发工程师[螺旋矩阵]

【面试题】网易互娱(游戏)校园招聘笔试 - 服务端开发工程师[螺旋矩阵]

时间:2021-11-25 21:09:09

相关推荐

【面试题】网易互娱(游戏)校园招聘笔试 - 服务端开发工程师[螺旋矩阵]

昨晚做网易互娱的笔试,比较尴尬的是只能用C/C++/Java,而本人对C/C++的了解仅限于大一的课程设计(而且一年多没用过C写代码了),Java差不多看得懂代码但是没有系统的学过。无奈最后只能用python写了两道题,再用C照着python的语法写了一遍(然而提交没通过,基本上是凉凉了)

第一题:

简单来说就是通过行、列的下标在上述的螺旋矩阵中找出对应的值。

最简单直接的办法就是直接构建螺旋矩阵,

把python的代码分享一下:

c = input()n,m = input().split(" ",1)data = []for i in range(int(m)):data.append(list(map(int,input().split(" "))))ju_zhen =[]#定义一个n*n的矩阵,每个元素都为0for x in range(int(n)):ju_zhen.append([])for y in range(int(n)):ju_zhen[x].append(0)num = 0 #n代表当前数字i = 0#i代表当前是第几圈while(num<int(n)**2):for j1 in range(i,int(n)-i): #从左上到右 上ju_zhen[i][j1] = num+j1+1-inum += j1+1-ifor j2 in range(i+1,int(n)-i): #从右上到右下ju_zhen[j2][int(n)-i-1] = num+j2-inum += j2-ifor j3 in range(i,int(n)-1-i)[::-1]: #从右下往左下ju_zhen[int(n)-1-i][j3] = num+int(n)-1-j3-inum +=int(n)-1-j3-ifor j4 in range(i+1,int(n)-1-i)[::-1]: #从左下往左上ju_zhen[j4][i] = num+int(n)-1-j4-inum += int(n)-1-j4-ii += 1 #圈数 +1# print(ju_zhen)for cj in data:print(ju_zhen[ cj[0] ][ cj[1] ])

难度:简单

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。