- 博客(17)
- 收藏
- 关注
原创 ue4学习总结(2)
蓝图相关 事件分发器-EventDispatcher 将事件绑定到事件分发器,然后在调用事件分发器时触发所有这些事件。 EventDispatcher / Delegate Anim Notify和Anim Notify State的优劣 如果动画被打断,断点之后的notify不会被执行,而state会被cancel掉。 Anim Notify State Location与Rotation Actor的Location可以同步,Rotation无法同步。 RepNotify 蓝图中的set可以顺便call
2022-04-29 15:45:07 1323
原创 ue4学习总结(1)
参考文章: 《Exploring in UE4》关于网络同步的理解与思考[概念理解] - 知乎 (zhihu.com) 【ue4】【使用】DS服务器搭建 | DUADUA BLOG (duaduac.com) UE4 网络 Replicate,ActorRemote,OwnerShip,RPC_祥林Love的博客-CSDN博客 网络同步相关 Actor是基本复制单位 Replication Replication是服务器向客户端的单向行为,如果一个Actor bReplicates=true,则在其生成
2022-04-01 17:37:01 2698
原创 剑指offer-搜索算法1e2m-12
目录[(m)JZ4 二维数组中的查找][1][(e)JZ11 旋转数组的最小数字][2][(m)JZ38 字符串的排列][3]今天学到的知识 (m)JZ4 二维数组中的查找 二分,将右上角视为pivot,这样可以确定二分的方向 时间复杂度:O(n+m)O(n+m)O(n+m),空间复杂度:O(1)O(1)O(1) class Solution { public: bool Find(int target, vector<vector<int> > array) {
2022-02-08 12:29:23 389
原创 剑指offer-队列&栈1h搜索算法1e-11
目录[JZ59 (h)滑动窗口的最大值][1][JZ53 (e)数字在升序数组中出现的次数][2]今天学到的知识 JZ59 (h)滑动窗口的最大值 朴素想法是在遍历中找窗口内的最大值,使用堆排序,最好的时间复杂度是O(nlogk)O(nlogk)O(nlogk),其中kkk为窗口大小,这种做法会导致很多重复计算 可以使用deque维护一个包含数组下标的双端链表,此链表在头尾的插入删除均为O(1)O(1)O(1),此链表中下标对应的值是递减的 这样在找当前窗口最大值时只需返回头节点 复杂度:时间O(n)O
2022-01-18 12:09:44 355
原创 剑指offer-树2m栈&队列2e1m1h-10
目录[JZ86 (m)在二叉树中找到两个节点的最近公共祖先][1][JZ68 (m)二叉搜索树的最近公共祖先][2][JZ9 (e)用两个栈实现队列][3][JZ30 (e)包含min函数的栈][4][JZ31 (m)栈的压入、弹出序列][5][JZ73 (h)翻转单词序列][6]今天学到的知识 JZ86 (m)在二叉树中找到两个节点的最近公共祖先 朴素的想法:先dfs,记录经过的路径,找到对应的值之后返回;然后比较dfs得到的两条路径(数组),从头开始找最后一个相同值; 复杂度:时间O(n)O(n)O
2022-01-17 12:10:44 346
原创 剑指offer-树1m-9
目录[JZ84 (m)二叉树中和为某一值的路径(三)][1] JZ84 (m)二叉树中和为某一值的路径(三) 主要考察在给定数组中寻找和为k的连续子数组,在此之上套了个二叉树的皮 找连续子数组可以用两次dfs或者两重循环,但是这样时间复杂度就O(n2)O(n^2)O(n2)了 原始问题可以转化为: 在数组中寻找两个位置i,ji, ji,j,使得sumi−sumj=ksum_i-sum_j=ksumi−sumj=k,其中sumisum_isumi表示从数组开头一直到iii位置的累加和 上式可变
2022-01-14 11:48:46 129
原创 剑指offer-树1e2m1h-8
目录[JZ8 (m)二叉树的下一个结点][1][JZ28 (e)对称的二叉树][2][JZ78 (m)把二叉树打印成多行][3][JZ37 (h)序列化二叉树][4]今天学到的知识 JZ8 (m)二叉树的下一个结点 考察对二叉树结构的理解,下一个节点要么是右子节点的最左节点,要么是当父节点的右子节点不是自己时的父节点 复杂度:时间O(n)O(n)O(n),空间O(1)O(1)O(1) class Solution { public: TreeLinkNode* GetNext(TreeL
2022-01-13 16:22:11 406
原创 剑指offer-树2e2m-7
目录[JZ82 (e)二叉树中和为某一值的路径(一)][1][JZ34 (m)二叉树中和为某一值的路径(二)][2][JZ36 (m)二叉搜索树与双向链表][3][JZ79 (e)判断是不是平衡二叉树][4]今天学到的知识 JZ82 (e)二叉树中和为某一值的路径(一) 递归,cur存当前节点的val总和 注意,此处的cur传入的是一个值,对于每一次的dfs调用,其都被复制了一次,所以在dfs返回时不需要处理cur;若传入的是一个引用,就需要考虑在dfs返回时将其恢复原状 复杂度:时间O(n)O(n)O
2022-01-12 12:16:18 257
原创 剑指offer-树2e1m-6
目录[JZ27 (e)二叉树的镜像][1][JZ32 (e)从上往下打印二叉树][2][JZ33 (m)二叉搜索树的后序遍历序列][3] JZ27 (e)二叉树的镜像 递归 class Solution { public: TreeNode* Mirror(TreeNode* pRoot) { // write code here if(!pRoot) return nullptr; TreeNode *left=pRoot->left;
2022-01-11 12:10:49 361
原创 剑指offer-树3m-5
目录[JZ54 (m)二叉搜索树的第k个节点][1][JZ7 (m)重建二叉树][2][JZ26 (m)树的子结构][3] JZ54 (m)二叉搜索树的第k个节点 中序遍历二叉树;栈的使用 不断向左走,如果走不动就向右走一个,重复此过程 class Solution { public: int KthNode(TreeNode* proot, int k) { // write code here if(!proot) return -1;
2022-01-10 12:13:10 294
原创 剑指offer-链表1e树1e1m-4
目录[JZ18 (e)删除链表的节点][1][JZ55 (e)二叉树的深度][2][JZ77 (m)按之字形顺序打印二叉树][3] JZ18 (e)删除链表的节点 遍历删除即可,注意哨兵节点的使用 JZ55 (e)二叉树的深度 标准的递归 class Solution { public: int TreeDepth(TreeNode* pRoot) { int depth = 0; if(pRoot){ int leftd,right
2022-01-07 14:28:25 559
原创 剑指offer-链表2h-3
目录[JZ35 (h)复杂链表的复制][1] JZ35 (h)复杂链表的复制 链表拼接、拆分 先将每个节点拷贝一份,然后再逐步处理随机指针,最后将原链表和拷贝链表拆分开 注意最后要将两个链表完全拆分,不然无法通过测试 ...
2022-01-06 11:45:55 471
原创 剑指offer-链表2e-2
目录[JZ23 (简单)链表中环的入口结点][1][JZ22 (简单)链表中倒数最后k个结点][2] JZ23 (简单)链表中环的入口结点 快慢指针 快指针一次走2步,慢指针一次走1步,直到相遇,或快指针遇到null,直接返回; 然后将快指针还原为链表头节点,快指针一次走1步,慢指针一次走1步,直到两指针相遇,相遇点即为环入口点。class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNo
2022-01-05 11:32:03 897
原创 剑指offer-链表4e-1
目录[JZ6 从尾到头打印链表][1][JZ24 反转链表][2][JZ25 合并两个排序的链表][3][JZ52 两个链表的第一个公共结点][4] JZ6 从尾到头打印链表 直接遍历存入数组然后反转(reverse()) 递归回溯 JZ24 反转链表 三指针 空间复杂度O(1)O(1)O(1), 时间复杂度O(n)O(n)O(n) JZ25 合并两个排序的链表 构建哨兵头节点,迭代查找,直到某链表后续为空,就把另一个链表的后续节点接到当前链表后面 class Solution { publi
2022-01-04 12:10:59 386
原创 leetcode简单题_Day3
文章目录前言26.删除排序数组中的重复项题目思路 前言 题目前标号即为leetcode中对应的题号 此文是刷题后的个人总结 26.删除排序数组中的重复项 题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你
2020-11-20 20:31:12 122
原创 leetcode简单题_Day2
文章目录前言9.回文数题目思路 前言 题目前标号即为leetcode中对应的题号 此文是刷题后的个人总结 9.回文数 题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是
2020-11-20 14:19:45 241
原创 leetcode简单题_Day1
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1.两数之和题目:思路7.整数反转总结 前言 1.两数之和 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回
2020-11-19 13:52:00 130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人