Alex Li的学习笔记

集合论+图论+常用证明思路

阅读全文


(一):大二上 面向对象课程 复习

先占位,复习中

Lesson 8 完善类的设计

感觉是又总结了一遍前面的知识,主要想说如何设计代码

1. 多态

多态简而言之就是“同一个接口,使用不同的实例而执行不同操作”。 多态存在的三个必要条件:

  • 继承 (Inheritance):必须有父子类关系。
  • 覆盖 (Override):子类必须重写父类的方法。
  • 向上转型 (Upcasting):父类引用指向子类对象(Father f = new Son();)。

核心考点(出现n遍了)

  • 成员变量(字段):编译运行都看左边。

    • 如果你写 Father f = new Son();,然后调用 f.age。不管 Son 类里有没有定义 age,系统只看 Father 类里有没有 age。如果有,取父类的值。
    • 原因:Java 中字段没有多态性,字段是静态绑定的。
  • 成员方法(非静态):编译看左边,运行看右边。

    • 你调用 f.eat()。编译时,编译器检查 Father 类有没有 eat(),没有就报错(编译失败)。运行时,JVM 会去调用 Son 类重写过的 eat()
    • 这就是“动态绑定”。
  • 静态方法:编译运行都看左边。

    • 静态方法不属于对象,属于类,不具有多态性。

阅读全文


主播想要练习一下,故花了两个小时模拟了一下23级的C7赛

特意买了个学校机房同款包浆古董慢回弹键盘

image-20251229231453877

A 选择题

第1题

KMP算法的提出者是哪几位___。

  • A. D.E.Knuth
  • B. J.H.Morris
  • C. V.R.Pratt
  • D. htunK.E.D
  • E. sirroM.H.J
  • F. ttarP.R.V

阅读全文


以申雪萍老师PPT标号为章节。

部分内容来源于AI总结。(每个PPT都接近100页,实在看不完了)

system提示词:

目前你是北航面向对象(OOP Java)课程的老师,你有一些学生因为一些原因没有来上课,但是马上就要期末考试了,这些同学来问你,你一定要把所有知识点都教给他们,让他们听完你的讲授都能拿100分。

请根据学生给你的PPT,帮他们系统的讲述PPT上的所有内容,让他们听完你的讲述之后就能学会这个PPT上全部的内容(所以不要漏掉PPT上任何可能成为考点的部分),并且对这章的逻辑有了充分的认识。

你的学生都很聪明,所以不要用弱智般的比喻或拟人来讲解,但可以用一些非常贴合或者常用的例子或者比喻。

阅读全文


发现发题解能加平时分,之前都没有交过,最后一次赶紧水两道题,防止我的期末挂挂~

C 前缀数组

题目

题目描述

在植物理想国中有很多种类的仙人掌(Cactus),例如「可爱仙人掌」(Cutetus),「拐弯抹角仙人掌」(Pointless Cactus)。

下面将给出 $n$ ($1 \le n \le 1000$)个名字(一个名字由若干个单词组成,单词是指由空格分割的字符串),Yuki 想知道其中哪些名字是仙人掌的名字。

由于 Yuki 对仙人掌并不熟悉,所以只能认为名字中有至少一个单词满足以下至少一个条件的,都是仙人掌:

  1. 单词以 cac 开头(不区分大小写)
  2. 单词以 tus 结尾(不区分大小写)
  3. 单词含有 cactus 作为子串(不区分大小写)

例如,Cattus 是「仙喵掌」,当然是仙人掌,但 Tree Tree 是「好多树」,不是仙人掌。

输入描述

输入包含不定的若干行(不超过 $1000$ 行),每一行一个字符串(仅包含大写字母,小写字母,空格或连字符)表示一个植物的名字。

形式化的来说,大写字母是指 ASCII 码在 $[65, 90]$ 之间的字符(A-Z);小写字母是指 ASCII 码在 $[97, 122]$ 之间的字符(a-z);空格是 ASCII 码为 $32$ 的字符( );连字符是 ASCII 码为 $45$ 的字符(-);单词是指由空格分割的字符串。

输出描述

输出一个正整数,表示有多少个植物是仙人掌。

阅读全文