摘要: —— 基于快慢指针(Floyd 判圈算法) 一、问题背景 在单链表中,某些节点的 next 指针可能会指向链表中已经出现过的节点,从而形成 环形结构。 常见问题包括: 判断链表是否存在环 如果存在环,找到 环的入口节点 二、链表节点定义 class ListNode { public int val 阅读全文
posted @ 2025-12-18 17:08 高山仰止666 阅读(4) 评论(0) 推荐(0)
摘要: —— 以「P1111 修复公路」为例的代码驱动式总结 //## 题目背景 //A 地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。 //## 题目描述 //给出 A 地区的村庄数 N,和公路数 M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完 阅读全文
posted @ 2025-12-18 17:02 高山仰止666 阅读(6) 评论(0) 推荐(0)
摘要: —— 基于迷宫问题与消消乐连通块统计的工程实践 一、BFS 基本概念 广度优先搜索(BFS,Breadth-First Search) 是一种按“层级”向外扩展的图遍历算法。 其核心特征是: 从起点出发,先访问所有距离为 1 的节点,再访问距离为 2 的节点,以此类推。 BFS 通常依赖 队列(Qu 阅读全文
posted @ 2025-12-18 16:52 高山仰止666 阅读(17) 评论(0) 推荐(0)
摘要: —— 基于「模拟消消乐」与「二叉树遍历还原」的实践总结 一、DFS 基本概念 深度优先搜索(DFS,Depth-First Search) 是一种典型的递归/回溯算法思想,其核心特征是: 从起点出发,沿着一条路径不断深入,直到无法继续,再回溯到上一个分支继续探索。 DFS 常见应用场景包括: 二维网 阅读全文
posted @ 2025-12-18 16:45 高山仰止666 阅读(56) 评论(0) 推荐(0)
摘要: 单例模式基类(Base文件夹) 不继承Mono的单例模式基类 using System; using System.Reflection; using UnityEngine; /// <summary> /// 单例模式基类 避免代码冗余 /// </summary> /// <typeparam 阅读全文
posted @ 2025-12-18 16:31 高山仰止666 阅读(5) 评论(0) 推荐(0)
摘要: 一、概念 事件中心(EventCenter) 是 Unity 项目中常用的 全局消息总线,用于: 解耦对象间的逻辑依赖 实现观察者模式 管理全局事件订阅与触发 二、核心接口 方法 功能 说明 AddEventListener(string name, UnityAction<object> acti 阅读全文
posted @ 2025-12-14 16:18 高山仰止666 阅读(31) 评论(0) 推荐(0)
摘要: 一、功能概述 RecycleView 是一个 基于对象复用(对象池思想)的无限滑动列表组件,用于解决 Unity 中 ScrollView 在大量数据场景下的性能问题。 核心目标: 列表数据量再大,也只创建「可视区域所需的最少 Cell 数量」 通过滑动动态复用 Cell,而不是反复 Instant 阅读全文
posted @ 2025-12-14 14:12 高山仰止666 阅读(48) 评论(0) 推荐(0)
摘要: 一、为什么需要对象池 在 Unity 项目中,频繁调用 Instantiate / Destroy 创建与销毁 GameObject,通常会引发以下问题: 产生大量 GC(垃圾回收),导致明显卡顿 运行时性能波动较大,尤其在 战斗系统 / UI 列表 / 特效系统 中更为突出 对象生命周期分散,难以 阅读全文
posted @ 2025-12-14 13:37 高山仰止666 阅读(21) 评论(0) 推荐(0)
摘要: 1. 垃圾回收概念 GC 是 C# 自动管理堆内存的一种机制。 通过遍历堆上的对象,判断哪些对象没有被任何引用指向,将这些对象释放。 垃圾:没有被任何变量或对象引用的数据。 2. GC 回收对象的范围 只回收堆(Heap)上的对象,引用类型的数据。 栈(Stack)上的值类型数据由系统自动管理,函数 阅读全文
posted @ 2025-12-11 15:43 高山仰止666 阅读(11) 评论(0) 推荐(0)
摘要: 1. 场景同步切换 方法:SceneManager.LoadScene("SceneName") 加载下一个场景的过程可能耗时,如果场景对象过多,会造成卡顿。 2. 场景异步切换 Unity 异步切换场景和 资源异步加载 原理类似,主要有两种方式: 2.1 事件回调方式 public class T 阅读全文
posted @ 2025-12-10 23:09 高山仰止666 阅读(35) 评论(0) 推荐(0)
摘要: 1. Unity Resources 同步加载资源(Resources.Load) Unity 提供了 Resources 文件夹和 API 来动态加载资源,可以在运行时通过代码获取所需资源,避免繁琐的拖拽操作。 1.1 作用 动态加载 Resources 文件夹下指定路径的资源 减少场景和组件对资 阅读全文
posted @ 2025-12-10 21:01 高山仰止666 阅读(32) 评论(0) 推荐(0)
摘要: 🌀 Unity 协程(Coroutine) 协程(Coroutine):Unity 提供的一种“分时执行”机制,本质上不是多线程,而是在主线程上分步执行代码,避免卡顿。 适用场景: 异步加载资源或场景 批量生成对象 流程控制(动画、等待、定时器等) 异步操作(网络请求、下载) 1. 协程的本质 协 阅读全文
posted @ 2025-12-10 19:07 高山仰止666 阅读(13) 评论(0) 推荐(0)
摘要: 🧵 C# 多线程(Thread) 进程:运行中的程序,是系统分配资源的基本单位,打开一个应用程序 → 就是启动一个进程,不同进程之间相互独立,也可以互相通信 线程:CPU 调度的最小单位,一个进程内可以包含多个线程,主线程是程序启动时默认运行的线程。 多线程:能让程序同时执行多条代码流,适用于耗时 阅读全文
posted @ 2025-12-10 15:53 高山仰止666 阅读(39) 评论(0) 推荐(0)
摘要: 1. UnityAction 定义:Unity 封装的委托类型,本质上类似 C# 的 Action,不涉及UnityEvent时,UnityAction 的使用和 Action 一模一样。 特点:只能有 0~4 个参数,可以与 UnityEvent 配合使用(AddListener、RemoveLi 阅读全文
posted @ 2025-12-10 14:58 高山仰止666 阅读(12) 评论(0) 推荐(0)
摘要: 1. 什么是事件(Event) 事件是基于委托的一种特殊类型。 事件可以看作是对委托的 安全封装,让委托的使用更加安全。 本质上,事件是一个特殊的成员变量类型,用于通知订阅者某些事情发生。 事件常用于:回调机制、UI更新、系统通知等场景。 2. 事件的声明与使用 2.1 声明语法 // 声明事件 p 阅读全文
posted @ 2025-12-10 14:50 高山仰止666 阅读(14) 评论(0) 推荐(0)