【华为2019年校园招聘】2019-5-8 软件题
- 3个编程题,题目不难,合理规划时间
- 支持多语言,包括C,C++,Python,R 等,但每种语言输入输出格式不一样。考前一定用模拟试卷跑通
- 支持本地IDE,Python的话可以用 Jupyter,考前要求录制屏幕
- 时间限制120 min
题目
编程题1.
输入一个N阶方阵(0<N<10),输出此方阵的顺时针旋转M次(0<=M<=1000)次后的方阵。
输入:
N #一个数,代表接下来是几阶矩阵
矩阵 #N行 N列, 空格隔开
M #旋转次数
要求输出:
旋转后的N阶矩阵,每行内数字用空格隔开
Python代码:
解法1: 使用内置函数 rot90()
解法2: 利用矩阵乘法,左乘或者右乘一个负对角线为-1的矩阵
解法3: 利用索引
我在上机测试的时候因为调整输入输出浪费了一些时间,就采用了最简单的第一种方法。
// python rotation
import numpy
n = int(input())
matrix=[]