自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 2023-8-30

还有什么比一次性无调试无报错ac一道算法题更爽的吗。

2023-08-30 20:58:29 68 1

原创 每日知识点记录2023-4-25

unity实现完成地图以后地图人物从一个关卡移动到下一个关卡。智能指针share_ptr和unique_ptr。c++ 静态库与动态库的区别。顶层const和底层const。malloc和new。

2023-04-25 22:58:57 271

原创 每日知识点2023-4-22

malloc和new的区别 堆和堆栈的区别。c++静态库和动态库,程序运行流程。

2023-04-22 23:03:04 82

原创 每日知识点2023-4-21

制作unity的效果(下雨),使用粒子特效。

2023-04-22 00:33:16 58

原创 每日知识点2023-4-19

路径追踪(求解渲染公式)

2023-04-21 22:05:04 36

原创 每日知识点2023-4-18

递归(dfs)二叉树的公共祖先,对于每个节点,如果给定节点在其左子树和右子树上那么那就是最近的公共祖先,若都在左子树上哪公共祖先就在其左子树上,都在右子树上同理。维护一个最大值,递归左子树和右子树,每个子树有自己的最大祖先值和最小祖先值。c++内存管理,内存对齐,内存分区,栈区和堆区的区别。unity shader单张纹理。c++类的内存模型,菱形继承。进程和线程的区别,银行家算法。c++的多态,虚函数。

2023-04-18 22:58:15 28

原创 每日知识点记录2023-4-17

高光反射(Phong,Blinn Phong):光照颜色*高光反射系数*max(0,dot(法线向量*入射光与视角的半程向量)^光泽度)漫反射(兰伯特模型,半兰伯特模型):光照颜色*漫反射系数*max(0,dot(法线向量,入射光向量))UnityObjectToWorldNormal(法向量) 模型法向量到世界法向量。UnityWorldSpaceLightDir(点) 世界空间光照方向。二叉树中序遍历(深度优先,栈迭代,颜色标记法)phone模型就是反射向量*视角向量。shaderLab内置函数。

2023-04-17 23:06:27 71

原创 每日知识点记录2023-4-16

动态规划算法:爬楼梯(矩阵快速幂),最长回文子串(中心扩展算法)unity实现的简易状态机。c++模板特化,偏特化。

2023-04-16 23:21:26 31

原创 每日知识点记录2023-4-15

计算机图形学光线追踪辐射度量学,BRDF。并查集求解图中是否存在路径。opengl三角形渲染。

2023-04-15 22:59:29 26

原创 使用工厂模式制作背包系统流程

首先就是为什么要用工厂模式设计背包系统,当我们在背包中需要显示很多物品的时候,我们可能需要给每一个物品制作一个预制体,那物品的数量越多,制作预制体越麻烦,并且拖拽预制体赋值的时候可能会拖拽错误等,那么最容易想到的就是,我先制作一个image的预制体,里面不放任何的物品图片,当我在游戏中收集到物品的时候,我再将收集到物品的图片和预制体一起放进工厂,加工成一个带图片的预制体,最后将这个预制体放到背包ui中就行了。由于素材都是网上找的还有一些截图,只能将就看看。收集两个物品之后效果就是这样。

2023-04-12 20:50:49 148

原创 unity知识点 如何根据鼠标点击进行场景转换(2DMiNiGame)

简单的思路是通过鼠标点击碰撞体然后获取这个碰撞体 再通过这个碰撞体获得拥有这个碰撞体的物体,得到物体的标签以后来判断具体执行什么逻辑,比如这里我们要执行场景转换的逻辑,那么我们点击场景转换的碰撞体,获得场景转换的标签,然后在鼠标管理类中判断标签的类别执行相应逻辑。接下来我们使用一个teleport组件调用场景管理的方法,实现具体从哪个场景转换到哪个场景,创建teleport的好处就是可以把代码模块分离,如果有要场景转换的物体,直接把teleport挂载上去然后把要加载的场景输入进去就行了。

2023-04-04 22:45:53 647

原创 算法题 2023西山居seed游戏开发c卷

之后思考了一下,首先得设计一个棋盘,是一个二维数组,0表示空格,1表示黑棋,2表示白棋,然后设计玩家类,类中包含玩家的基本信息以及得分情况等,然后设计一个判断棋子是否连成五个字的函数,以及通过空格数目判断游戏是否结束的函数,如果空格数为0那么游戏结束,最后比较玩家的分数,分数高的获胜。第二题:给定一个nxm的矩阵,其中0代表没有格子,1代表有格子,请找到含有格子数最多的行和列对应的点p,并将这个点行列的所有格子删除,然后继续找到下一个p删除,直到所有的格子都被删除,输出点的数量,以及点的行列。

2023-04-04 11:27:26 560 1

原创 【无标题】c++ STL容器理解(1)

我们最常用的就是每一个键对应有一个链表,通过把相同键的数据放在链表中,在寻找相同键的数据时只需要遍历这个链表就行了,举个例子,假如哈希表是用除留余数法来进行地址分配的,表长为10,那么元素1和元素11对应的键都是1,他们在一个链表中,这个时候如果要找元素11对应的值,先找到它的键1,然后遍历这个键的链表找到索引为11的节点就能找到元素11对应的值。下面这张图描绘的很详细。multiset:集合中的元素不是唯一的,同一个元素可以有多个,这意味着他可以对含有重复元素的数组进行排序,并且可以对重复元素进行计数。

2023-04-02 19:27:34 38

原创 算法题,给定一个string容器,其中包含n和string字符串,求出现频率最高的前k个数(topK问题)

本题可以不适用选择快排,通过使用map来统计字符串出现的个数,自定义一个比较函数,通过将map的对数放入vector<pair<stirng,int>>,将vector按照字符出现的次数进行降序排序,输入排序的前k大的数。topk问题我们一般使用的是选择快排,每次找到大于基准点的前m个数,如果m<k,那就递归基准点后面一段,如果m>k就递归基准点前面的数直到找到基准点大于前k个数。

2023-04-02 14:05:20 53

原创 算法题:根据一个整数数组,判断它是否为二叉树后序遍历的结果

二叉搜索树(BST)的性质:左子树的元素比右子树小,后序遍历性质:先左子树再右子树最后父节点,由这两个性质我们可以得知数组的最后一个元素绝对是根节点,而且最后一个数左边比它大的连续子数组为右子树,比它小的为左子树例如 10 为根节点,11,13,12为右子树,剩下的左边都为左子树,那么左子树是一定不能比根节点大的,右子树一定不能比根节点小。例子【3,4,5,9,8,11,13,12,10】 返回true。例子【3,4,5,9,11,8,13,12,10】返回false。

2023-04-02 13:56:02 65

原创 c++11新特性之智能指针(smart ptr)

1 unique_ptr,uptr独享一块内存,这块内存只有uptr指针才能访问,它不会和其他的指针共享,它只有通过移动语义来进行内存权限的转移,它的赋值构造和拷贝构造都是私有函数,所以没办法进行指针的拷贝和赋值,移动语义(假设我们有另一个指针想访问uptr的内存,uptr先访问了这块内存,我们可以使用move(uptr)来让另一个指针指向这块内存,并且把uptr指针置null)。

2023-03-30 20:38:26 238

原创 回文链表三种解法

二 递归回文链表,利用一个指针指向头结点,递归一个指针到最后一个节点,然后开始收敛,每次收敛比较头结点和最后一个节点的值是否相同,不同则返回false,相同则将前面的指针后移,一直收敛到头结点。首先利用快慢指针(快指针+2,慢指针+1)找到中间节点,将链表的右侧节点翻转,然后比较左侧节点和翻转节点,最后记得把链表翻转到原来链表。首先回文链表是一种从前往后的数据和从后往前的数据顺序相同的链表,比如1 3 5 5 3 1,如何判断一个链表是否为回文链表有三种解法。三 快慢指针+翻转链表。

2023-03-28 13:12:07 168 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除