题目描述

题目链接:N诺/DreamJudge 1221

给定一个 n×m 矩阵和 k 次操作,按顺序执行后输出最终矩阵。三种操作:

操作 含义
1 顺时针旋转 90°
2 沿纵向对称轴翻折(左右翻转)
3 逆时针旋转 90°

本题最关键的区别:矩阵是 n×m,不是 n×n。

Read more »

题目描述

题目链接:N诺/DreamJudge 1216

输入一个整数 n(1 ≤ n ≤ 20),输出 n×n 的螺旋方阵。数字从 1 开始沿顺时针螺旋方向依次填入。

核心思路

模拟填数过程:定义四个方向,沿着当前方向一直走,撞墙或碰到已填的格子就拐弯

关键是两个问题:

  1. 怎么表示”拐弯”——方向数组 + 循环取模
  2. 怎么判断”该拐了”——越界 or 已访问
Read more »

题目描述

题目链接:N诺/DreamJudge 1377

输入两个 n 阶矩阵(n≤9),判断第二个是否是第一个旋转得到的。如果是,输出旋转角度(0、90、180、270 中最小的那个),否则输出 -1。

  • 多组测试数据
  • 矩阵元素间用任意空格分隔,矩阵间用任意回车分隔

核心思路

旋转矩阵的本质是坐标变换。与其推导 90°/180°/270° 各自的计算公式,不如只写一个 rotate90 函数,然后反复调用它:

  • 旋转一次 → 90°
  • 旋转两次 → 180°
  • 旋转三次 → 270°

省去推导三套公式的麻烦,代码量也少一半。

Read more »

题目描述

题目链接:N诺/DreamJudge 1392

输入 n 值,使用递归函数求杨辉三角形中各个位置上的值,输出 n 行杨辉三角。

  • 输入:一个大于等于 2 的整数 n
  • 输出:对应 n 行的杨辉三角形
  • 多组测试数据

核心思路

杨辉三角的定义本身就是递归的:

边界条件: 时值为 1。

直接用这个递推式写递归很简单,但存在大量重复计算——同一个 会被反复调用,时间复杂度指数级。记忆化搜索用一个二维数组把算过的值存下来,每个 只算一次。

Read more »

题目描述(清华大学上机题)

题目链接:N诺/DreamJudge 1422

输入的第一行包括两个整数:MN (2 ≤ M, N ≤ 36)。
下面的一行输入一个数 X,X 是 M 进制的数,要求你将 M 进制的数 X 转换成 N 进制的数输出。

输入示例:

1
2
16 10
1A

输出示例:

1
26
Read more »

FPC检测是导师交给的第一个横向落地项目 是实际为公司提供缺陷检测方案 作为第一次实战 希望能把这一路上的挫折和困难记录下来 后面避免重复犯错

Read more »

CPR找相似图片的核心思想

一句话概括:把每张图片的特征转换成一个”条形统计图”,然后对比统计图的形状,形状越像,图片就越相似。

此博客是由ai整理得到 并非本人手写!仅做临时复习使用!

Read more »

VQ-VAE和传统VAE模型的不同点


  • the encoder network outputs discrete, rather than continuous, codes
  • and the prior is learnt rather than static.
Read more »

lambda表达式有一个很大的作用就是简化匿名内部类的使用 简化代码

函数式编程


函数式编程是一种思想特点

函数式编程思想 忽略面向对象的复杂语法 强调做什么 而不是谁去做

这就和面向对象的思想和不一样的 Java中更强调是对象去做 用对象的方法去做

而我们要学的lambda表达式就是函数式思想的体现

lambda表达式


注意点

  • lambda表达式可以用来简化匿名内部类的书写
  • lambda表达式只能简化函数式接口的匿名内部类的写法
  • 函数式接口:
    • 有且只有一个抽象方法的接口叫做函数式接口 接口上方可以加@Funcitonalinterface注释
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class test{
public static void main(String[] args) {
method(new Swim() {
@Override
public void swimming() {

}
}); //匿名内部类先1前的写法 比较的复杂
}
method(()->{
System.out.println("重写");
}); //lambda表达式


public static void method(Swim s){
s.swimming();
}

}

interface Swim{
public abstract void swimming();
}

包装类


简单来说 包装类就是将一个基本数据类型包装成一个对象 为了就是适应java中的多态和面向对象的特点

常见的包装类有 Integer Character Double 等

Read more »
0%