- 博客(51)
- 收藏
- 关注
原创 为什么羽毛球比赛中用 “Love” 表示零?
从“鸡蛋”到“热爱”,从法语到英语,从网球到羽毛球,一个简单的单词 “Love”,承载了语言演变与运动文化的双重意义。所以下次听到 “Two – Love” 时,别再以为裁判在讲情话了,2 比 0而已。💡延伸阅读《牛津体育史》:英国体育语言演变的社会学视角《语言与体育文化》:从“Love”看语言的跨文化流动。
2025-10-17 20:00:50
479
原创 std::set_intersection
是 C++ 标准模板库(STL)中用于计算两个的算法,定义在头文件中。它能高效找出同时存在于两个有序序列中的元素,是处理集合运算的重要工具。
2025-09-26 13:43:48
437
原创 在图形 / 游戏开发中,为何 Pixels Per Unit(PPU)数值越小,物体在屏幕上显示的尺寸越大?
Unit 的核心是:开发者先定义 “1 个 Unit 在屏幕上的 “视觉大小”(比如预设 “1 Unit = 屏幕上 200 像素”),再通过 PPU 反向匹配 “需要多大的像素资源”,而非用 PPU 直接计算屏幕像素尺寸,即 PPU 是用于 资源像素和 Unit 进行换算,而 Unit 与屏幕像素的换算由开发者事先定义。→ 每 1 个 Unit 只需要较少的像素来表示。→ 物体在世界坐标里占用的单位数变大。→ 结果:物体在屏幕上显示得更小。→ 结果:物体在屏幕上显示得更大。在 Unity 等游戏引擎中,
2025-09-11 18:49:40
510
原创 Happy-LLM-Task08 :3.3 Decoder-Only PLM
指仅基于 Transformer 解码器架构构建的预训练语言模型,与编码器-解码器(如 T5)或仅编码器(如 BERT)架构形成对比。其核心设计围绕自回归生成(Autoregressive Generation)架构核心:仅包含 Transformer 解码器模块,每个解码器层由掩码多头注意力(Masked Multi-Head Attention)、前馈神经网络(FFN)和层归一化(LayerNorm)组成。掩码机制:通过因果掩码(Causal Mask)
2025-06-29 20:57:15
1023
原创 C#语言入门-task4 :C#语言的高级应用
C# 的高级应用涵盖了从企业级开发到游戏、AI、系统编程等多个领域,其语言特性(如异步编程、表达式树)和生态系统(如 .NET 平台、Unity)使其成为多功能开发的首选语言。选择合适的技术栈时,需结合具体场景(如性能需求、跨平台支持)进行权衡。
2025-06-27 16:55:08
728
原创 Happy-LLM-Task07 :3.2 Encoder-Decoder PLM
Encoder-Decoder PLM通过融合双向编码与自回归解码能力,成为连接自然语言理解与生成的桥梁,在机器翻译、文本摘要等Seq2Seq任务中占据核心地位。随着多模态技术和高效训练方法的发展,这类模型正逐步向更通用的人工智能系统演进。
2025-06-27 16:50:12
887
原创 Happy-LLM-Task06 :3.1 Encoder-only PLM
Encoder-only PLM 凭借双向语义编码能力,成为自然语言理解领域的基础模型,支撑了众多NLP应用的发展。尽管在生成任务上存在局限,但其高效的预训练-微调范式仍为学术界和工业界广泛采用。未来,这类模型可能在轻量化、长文本理解及跨模态任务中持续进化。
2025-06-26 00:12:01
671
原创 C#语言入门-task3 :C# 语言的面向对象技术
C# 是一种现代化的面向对象编程语言,提供了丰富的特性来支持面向对象的编程范式。C# 的面向对象编程提供了丰富的特性,包括类、继承、多态、封装、接口、抽象类、事件委托和特性等。这些特性使得代码更加模块化、可维护和可扩展,是构建大型应用程序的基础。
2025-06-24 01:44:20
239
原创 Happy-LLM-Task04 :2.2 Encoder-Decoder
Encoder - Decoder是一种在深度学习中广泛应用于序列到序列(Seq2Seq)学习任务的模型架构。其目标是将一个自然语言序列映射到另一个可能不等长的自然语言序列。
2025-06-21 22:35:13
677
原创 C#语言入门-task2 :C# 语言的基本语法结构
C#的类型可分为值类型和引用类型。值类型变量直接存储数据,引用类型变量则存储对象的引用。在C#里,变量用于存储数据,使用前需要先声明。常量则是不可修改的值。以上就是C#基本语法的核心内容,这些是进一步学习C#编程的基础。C#提供了多种运算符,用于执行各种运算操作。C#的基本语句用于控制程序的流程。
2025-06-19 21:36:30
501
原创 Happy-LLM task2 第一章 NLP 基础概念(2天)
自然语言处理(Natural Language Processing,NLP)是人工智能领域的核心分支,旨在让计算机理解、处理并生成人类语言,实现人机自然交互。一、NLP 定义与目标NLP 融合计算机科学、语言学、心理学等多学科知识,通过算法让计算机模拟人类的语言认知过程。其核心目标是打破自然语言与机器语言的壁垒,使计算机能处理语义、语境、情感等复杂语言要素,完成从基础分词到深层语义理解的任务。二、NLP 发展历程早期探索(1940s-1960s)
2025-06-18 22:49:53
331
原创 C#语言入门 task1 Visual Studio 2022 平台的使用
通过上述操作步骤,我们可以看到项目开发中模块化设计、代码复用、资源管理和开发工具支持的重要性。在实际开发中,开发者应该注重项目的结构设计,合理划分模块,复用代码,管理好项目依赖,并充分利用开发工具提供的便利功能,以提高开发效率和代码质量。同时,良好的开发习惯(如文件命名规范、资源打包等)也是确保项目顺利进行的关键。
2025-06-16 23:26:57
389
原创 Happy-LLM task1 内容介绍+前言(1天)
Happy-LLM 从 NLP 的基本任务和发展讲起,逐步深入到 LLM 的架构和训练过程,这有助于学习者建立完整的知识体系,更好地理解 LLM 的本质。Happy-LLM 提供了从基础知识到实战应用的完整内容,学习者可以在阅读理论的同时,动手实践代码,逐步掌握 LLM 的搭建和训练过程。LLM 的出现和发展是 AI 领域的重要里程碑,它改变了人们对 AI 的认知,也推动了 NLP 领域的变革。作为学习者,要紧跟技术趋势,了解 LLM 的最新进展,以便更好地把握未来的发展方向。
2025-06-16 23:10:35
336
原创 con和com
前缀含义用法说明con-一起、共同基本形式,用于大多数词com-一起、完全con- 的变体,遇 b、m、p 变成 com-其它变体音变结果,本质都来自 con-
2025-05-30 10:58:58
2887
原创 Unity 中 Update、FixedUpdate 和 LateUpdate 的区别及使用场景
方法特点典型用途Update每帧执行一次用户输入、非物理逻辑固定间隔执行物理计算、刚体控制LateUpdate每帧最后执行相机跟随、依赖更新掌握这三个函数的区别与配合使用,是成为一名优秀 Unity 开发者的基础能力。
2025-05-29 20:39:09
909
原创 C++中析构函数不设为virtual导致内存泄漏示例
是否 virtualdelete 派生类指针时行为是否内存泄漏否只调用基类析构函数有可能是调用派生 → 再基类析构安全。
2025-05-17 19:14:21
585
原创 C++中多重继承下的虚表结构
项目单继承多重继承虚表数量1 张每个有虚函数的父类一张虚表指针1 个vptr每个父类一个vptr内存布局简单需要考虑偏移和指针调整多态支持简单调用通过多个 vtable 实现。
2025-05-15 14:47:24
717
原创 C++中的虚表和虚表指针的原理和示例
虚函数是用virtual关键字修饰的成员函数,支持运行时多态(dynamic polymorphism)。通过基类指针或引用调用派生类重写的函数。public:只要类中存在虚函数,编译器就会为该类生成虚表。vtable 是一个函数指针数组,用于保存该类的所有虚函数的地址。每个有虚函数的类有一张虚表。如果派生类重写了虚函数,虚表中对应的函数指针将被替换为派生类版本。每个对象中都有一个隐藏成员变量vptr(虚表指针),指向该对象所属类的虚表。对象创建时,构造函数会自动设置vptr的值。
2025-05-13 21:17:17
1219
原创 在 Unity 中实现一个三消游戏(Match-3 Game)——简洁实用的开发思路
Unity Asset Store:搜索 “Match 3” 免费模板。
2025-05-04 01:21:08
1200
原创 快速排序及其在Unity游戏开发中的应用
快速排序是Unity开发中底层理解排序逻辑的重要基础,尤其在自己需要控制渲染、对象管理、排行榜时非常有用。一般小项目用即可,大项目或特别优化时可以自定义快速排序。
2025-04-27 16:40:10
700
2
原创 正则表达式及其游戏中应用
正则表达式是一种用来匹配字符串的规则表达式,常用于搜索、验证、替换等文本处理场景。比如你想找出玩家输入中的邮箱、命令、作弊码……正则就特别好用。
2025-04-25 14:02:16
635
原创 循环队列与技能释放缓存器
循环队列(Circular Queue)是一种基于数组实现的环形结构的队列,用于解决普通队列中“出队后前面空间不能重复使用”的问题。🔹 普通队列的问题:出队后空间无法复用,空间浪费。🔹 循环队列的优点:通过“环形数组”让 rear 和 front 指针循环移动,最大化利用空间。循环队列不仅是数据结构考试中的高频考点,更是高性能游戏系统中的核心工具。实时操作输入;资源加载控制;时间敏感的队列系统(比如 AI 决策、动作序列等)。
2025-04-25 01:14:44
913
原创 在串的简单模式匹配中,当模式串位j与目标串位i比较时,两字符不相等,则i的位移方式是?
这个问题是在考察 串的简单模式匹配,也就是所谓的 朴素匹配算法(Brute-Force Matching),它的基本思想是从目标串(主串)中逐个字符尝试与模式串进行匹配。匹配失败后,目标串的指针 i 要回退,而不是简单地向前推进。具体来说:当 时,目标串的 i 回到起始匹配位置 s 的下一个位置,即:或者理解为:目标串 T: 模式串 P: 匹配尝试:✅ 答案:i ← i - j + 1(匹配失败时,目标串从下一个起点继续匹配)
2025-04-23 21:04:33
658
原创 从M个元素中查找最小的N个元素时,使用大顶堆的效率比使用小顶堆更高,为什么?
🔹 找最小的 N 个数 → 用大小为 N 的大顶堆,因为你要踢走大的。🔹 找最大的 N 个数 → 用大小为 N 的小顶堆,因为你要踢走小的。
2025-04-22 23:18:00
545
原创 现有一整型数组,a[8] = { 4,8,7,0,3,5,9,1},现使用堆排序的方式原地对该数组进行升序排列。那么在进行第一轮排序结束之后,数组的顺序为?
构建最大堆(从最后一个非叶子节点开始)数组看作完全二叉树:Step 1:堆化 index=3(0 和子节点 1)0 < 1 → 交换数组变为:Step 2:堆化 index=2(7 和子节点 5, 9)9 最大 → 交换 7 和 9数组变为:Step 3:堆化 index=0(4 和子节点 8, 9)9 最大 → 交换 4 和 9然后堆化 index=2(4 和子节点 5, 7)→ 7 最大 → 再交换数组变为:最大堆构建完成:Step 4:第一轮排序
2025-04-22 22:45:16
630
原创 从浏览器地址栏输入 URL 到网页显示,这中间发生了什么?
浏览器从输入 URL 到页面显示,会经历URL 解析、DNS 查询、TCP 三次握手、TLS 握手、HTTP 请求与响应、浏览器渲染等阶段,网页加载完毕后,还会通过四次挥手优雅地断开 TCP 连接。计算机网络面试题43问第11问。
2025-04-20 19:51:43
598
原创 一个含有 n 个顶点的连通且无环的简单无向图,在其邻接矩阵存储结构中共有几个零元素?
零元素 = n^2 - 2(n - 1) = n^2 - 2n + 2。:一个有 10 个节点的树,其邻接矩阵中零元素个数是多少?非零元素 = 2 * (n - 1)边数 = 4(符合 n - 1)边数 = n - 1。
2025-04-16 12:39:23
719
原创 C++ 的动态绑定、虚函数机制、指针类型与指向对象类型之间的关系
场景是否发生动态绑定行为依赖于哪种类型虚函数调用(正常函数体中)✅ 是动态类型(真实对象类型)非虚函数调用❌ 否静态类型(指针/引用类型)构造函数/析构函数中虚函数调用❌ 否当前类(不会多态)动态绑定只发生在虚函数调用上,而且取决于指针/引用所指向对象的真实类型。否则,一切都由指针的静态类型决定。
2025-04-13 20:39:14
741
原创 Redis简介及其在Unity中的应用
是一个开源的高性能内存数据结构存储系统,常被用于缓存、消息队列、排行榜、会话管理、实时分析等。项目是否适合 Redis排行榜✅ 极其适合(SortedSet)在线状态✅ 快速读写聊天系统✅ 适合 Pub/Sub战斗数据❌ 建议存数据库冷却时间✅ 利用 TTL 机制交易系统⚠️ 需谨慎,事务处理复杂Redis 在 Unity 游戏开发中虽然不是“直接集成”,但它在服务端架构中扮演了极其重要的角色,是构建高并发、实时性强、体验顺滑游戏的重要工具。
2025-04-11 21:39:49
2529
原创 LeetCode 题目 「二叉树的右视图」 中,如何从「中间存储」到「一步到位」实现代码的优化?
在 LeetCode 的经典题目「二叉树的右视图」中,我们需要返回从右侧看一棵二叉树时所能看到的节点集合。每一层我们只能看到最右边的那个节点。层序遍历 + 每层单独保存节点值 + 最后提取每层最后一个节点。但在逐步分析中,我发现这一过程可以进一步优化,减少中间变量的使用,提高代码简洁度和可读性。在写树的层序遍历时,可以根据最终需求精简逻辑,避免中间冗余变量;是提取“最后一个节点”的一个技巧写法;小优化虽不影响时间复杂度,但能提升代码的风格统一性、清晰度和执行效率。
2025-04-10 18:30:34
475
原创 使用 Bool 标记法实现 C++ 中统一风格的二叉树迭代遍历及其在 Unity 游戏开发中的用途
模块内容✅ 目标统一代码风格实现前中后序遍历🔧 技术使用标记栈🧪 举例输入一棵树 → 输出正确遍历🎮 Unity 应用AI、剧情、冷却树、路径规划等多场景144. 二叉树的前序遍历。
2025-04-08 23:52:07
631
1
原创 如何理解C++中的优先队列和其自定义比较器
优先队列是一种特殊的队列,出队顺序不是按加入顺序(不是 FIFO),而是按照优先级最高的元素先出队。C++中通过实现,位于<queue>头文件中,默认使用最大堆实现。int id;int score;// 分数小的优先(最小堆)5/ \10 20出队顺序:5 → 10 → 20默认:最大堆(,最大优先)最小堆:使用greater<>或自定义比较器(逻辑上翻转)自定义结构体:要提供比较规则(重载或自定义比较器类)347. 前 K 个高频元素。
2025-04-05 21:00:49
715
原创 Unity 开发者视角解析 ComputeNextArray 方法
KMP 算法在 Unity 开发中还是很有用的,学会它,你可以用来优化游戏逻辑,减少性能消耗,让你的游戏更流畅!,避免不必要的回溯,提高搜索效率。我们一步步拆解这段代码,看看它是如何工作的!,我们来看看 next 数组的计算过程!这个方法可以帮助我们。,这个数组的核心作用是。这样,我们就能轻松地。
2025-03-29 20:50:41
816
1
原创 Unity开发中KMP算法的理解和应用
KMP(Knuth-Morris-Pratt)算法是一种用于字符串匹配的高效算法,相比于暴力匹配,它能在。
2025-03-29 20:11:53
901
原创 C++中各种哈希结构(如int[],string,set,map)的find方法的理解与差异
在 C++ 中,不同的数据结构(如int[]stringsetmap)的find方法或查找方式各有不同。
2025-03-26 15:40:35
965
原创 Unity开发游戏中,Destroy函数使用的注意事项和举例
函数用于销毁游戏对象(GameObject)、组件(Component)或。你在 Unity 开发中遇到。在 Unity 开发中,
2025-03-21 23:59:55
656
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅