note-87
发表于|更新于|算法与数据结构
|浏览量:
./tools/build-test.sh
先看看就好。 docs/algorithms/solitaire
docs/algorithms/sudoku
核心是我这个库 会有测试驱动重点关注算法开发,算法测试你如果能够在widdows上让./tools/build-test.sh 运行起来,基础能力基本过关了
文章作者: 岁迹
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 岁迹!
相关推荐

2026-06-27
并查集
并查集并查集(Union-Find)是一种用于管理不相交集合(Disjoint Sets)的数据结构,主要支持以下两种高效操作: Find(查找):查询某个元素所属的集合(通常返回该集合的代表元素)。 Union(合并):将两个集合合并为一个集合。 此外,并查集通常还支持: 初始化(MakeSet):为每个元素单独创建一个集合。 判断两个元素是否属于同一集合(isSameSet)。 核心概念 集合的代表(Root / Parent): 每个集合有一个代表元素(通常称为根节点或父节点)。 所有属于该集合的元素的 Find操作最终都会指向这个代表元素。 路径压缩(Path Compression): 在 Find操作时,将查询路径上的所有节点直接指向根节点,以优化后续查询效率。 按秩合并(Union by Rank / Size): 在 Union操作时,将较小的集合合并到较大的集合中,以保持树的平衡,提高效率。 操作 普通实现 路径压缩 + 按秩合并 Find O(n) O(α(n)) (接近常数) Union O(n) ...

2026-06-27
游戏精酿GameAle笔试题
GameAle - U3D客户端(重庆)笔试题一:删除链表的倒数第 N 个结点 1234567891011121314151617181920212223242526272829303132333435363738394041/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */public class Solution { public ListNode RemoveNthFromEnd(ListNode head, int n) { ListNode cur = head; ...

2026-06-27
飞鱼科技
多维背包问题 有 N 种零件(如CPU、显卡、内存等),每种零件是一个类别。 每种零件有 M_i 个型号可选,每个型号有其价格 cost 和性能值 performance(性能值可能是一个综合评分,需要你预先定义好计算方式,例如CPU可用天梯图分数,显卡可用游戏帧数分数等)。 有一个总预算 B。 目标:从每种零件中选择恰好一个型号,使得总价格不超过预算 B,且所有零件的性能值之和(或根据权重加权之和)最大 清空数组的最小成本 操作1:删除单个元素。消耗固定成本 k。 操作2:清空整个当前数组。消耗成本为 k + n * mex,其中 n是当前数组的长度,mex是当前数组的最小未出现非负整数。 目标:通过一系列操作(每次可选择操作1或操作2),使得总成本最小。 世界树上Miku点 一共有 n个地点,它们由 n−1 条长度为 1 的双向道路连成了一棵无根树结构。其中,如果一个地点只延伸出了一条道路,那么这个地点将称为 Sekai 点。 Miku 点的定义如下: Miku 点一定不是 Sekai 点。 Miku 点是符合上一个条件的所有地点中,与相距最近的 Sekai ...

2026-06-27
分治法
分治法思想:分+治+分(将一个大规模的问题分成若干块小问题去求解,如果小问题也不好直接解决,则继续分成更小的问题) 分治法: (1)分治法产生的子问题是原问题的较小模式. (2)反复应用分治手段,可以使子问题规模不断缩小, (3)最终使子问题缩小到很容易直接求出其解。 (4)将规模较小问题的答案逐级向上合并,可得大问题答案 分治法解决问题通常使用递归算法 直接或间接地调用自身的算法称为递归算法, 例题1:Fibonnacci数列 斐波那契数列Q(Fibonacclsequence),又称“黄金分割”数列,比如这样一个数列:1,1,2,3,5,8,13,21,34,55,89….数列从第3项开始,每一项都等于前两项之和。递归定义为如下: 123456int Fibonacci(int n){ if(n<=1) return 1; else return Fibonacci(n-1) + Fibonacci(n-2);} 例题2:Ackerman函数 一个函数及它的一个变量是由函数自身定义...

2026-06-27
SQL
SQL通用语法语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句的可读性。 MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,注释:单行注释:–注释内容 或 #注释内容(MySQL特有)多行注释:/*注释内容 */ SQL分类 D-定义,M-操作,Q-查询,C-控制 DDL数据定义语言(不区分大小写) 查询所有数据库:SHOW DATABASES;查询当前数据库:SELECT DATABASE();创建数据库:CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];删除数据库:DROP DATABASE [ IF EXISTS ] 数据库名;使用数据库:USE 数据库名; 注意事项 UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集 表操作查询当前数据库所有表:SHOW TABLES;查询表结构:DESC 表名;查询指定表的建表语句:SHOW CREATE TAB...

2026-06-27
Unity项目开发与跨平台构建综合指南
Unity项目开发与跨平台构建综合指南1. 制作原生Unity PackageUnity Package (.unitypackage) 是Unity项目中资源、代码和插件的打包格式,便于分享和复用。 创建方法: 在Unity编辑器中,右键点击要打包的资产文件夹,选择”Export Package…”。 勾选需要包含的文件及其依赖项,导出为 .unitypackage文件。 使用场景:快速共享插件、资源包,或备份特定功能模块。 注意事项:确保包含所有必要依赖,避免在其他项目中出现资源丢失。 2. 命令行Unity打包Unity支持通过命令行(Command Line)进行自动化构建,这对于持续集成(CI/CD)和批量处理非常有用 基本命令结构: 1Unity.exe -quit -batchmode -projectPath <项目路径> -executeMethod <构建方法名> -buildTarget <目标平台> -quit: 构建完成后退出Unity编辑器。 -batchmode: 批处理模式,无图形界面。 ...
公告
记录游戏客户端开发、项目复盘和个人成长。