旋转矩阵-多次操作模拟
题目描述
题目链接:N诺/DreamJudge 1221
给定一个 n×m 矩阵和 k 次操作,按顺序执行后输出最终矩阵。三种操作:
| 操作 | 含义 |
|---|---|
| 1 | 顺时针旋转 90° |
| 2 | 沿纵向对称轴翻折(左右翻转) |
| 3 | 逆时针旋转 90° |
本题最关键的区别:矩阵是 n×m,不是 n×n。
题目链接:N诺/DreamJudge 1221
给定一个 n×m 矩阵和 k 次操作,按顺序执行后输出最终矩阵。三种操作:
| 操作 | 含义 |
|---|---|
| 1 | 顺时针旋转 90° |
| 2 | 沿纵向对称轴翻折(左右翻转) |
| 3 | 逆时针旋转 90° |
本题最关键的区别:矩阵是 n×m,不是 n×n。
题目链接:N诺/DreamJudge 1216
输入一个整数 n(1 ≤ n ≤ 20),输出 n×n 的螺旋方阵。数字从 1 开始沿顺时针螺旋方向依次填入。
模拟填数过程:定义四个方向,沿着当前方向一直走,撞墙或碰到已填的格子就拐弯。
关键是两个问题:
题目链接:N诺/DreamJudge 1377
输入两个 n 阶矩阵(n≤9),判断第二个是否是第一个旋转得到的。如果是,输出旋转角度(0、90、180、270 中最小的那个),否则输出 -1。
旋转矩阵的本质是坐标变换。与其推导 90°/180°/270° 各自的计算公式,不如只写一个 rotate90 函数,然后反复调用它:
省去推导三套公式的麻烦,代码量也少一半。
题目链接:N诺/DreamJudge 1392
输入 n 值,使用递归函数求杨辉三角形中各个位置上的值,输出 n 行杨辉三角。
杨辉三角的定义本身就是递归的:
边界条件:
直接用这个递推式写递归很简单,但存在大量重复计算——同一个
题目链接:N诺/DreamJudge 1422
输入的第一行包括两个整数:M 和 N (2 ≤ M, N ≤ 36)。
下面的一行输入一个数 X,X 是 M 进制的数,要求你将 M 进制的数 X 转换成 N 进制的数输出。
输入示例:
1 | 16 10 |
输出示例:
1 | 26 |
FPC检测是导师交给的第一个横向落地项目 是实际为公司提供缺陷检测方案 作为第一次实战 希望能把这一路上的挫折和困难记录下来 后面避免重复犯错
lambda表达式有一个很大的作用就是简化匿名内部类的使用 简化代码
函数式编程是一种思想特点
函数式编程思想 忽略面向对象的复杂语法 强调做什么 而不是谁去做
这就和面向对象的思想和不一样的 Java中更强调是对象去做 用对象的方法去做
而我们要学的lambda表达式就是函数式思想的体现
注意点
1 | class test{ |