- 博客(51)
- 收藏
- 关注
原创 静态类中的静态构造函数
静态构造函数是一种特殊的构造函数,它用于初始化静态类或类中的静态成员。静态构造函数的调用是线程安全的,即使多个线程同时尝试访问静态类,静态构造函数也只会被调用一次。在这个例子中,静态构造函数会在第一次使用 DatabaseManager 类时创建一个数据库连接对象,并且这个连接对象在整个应用程序的生命周期内只会被创建一次。在这个例子中,静态构造函数确保了 ThreadSafeSingleton 类的单例实例在多线程环境下只会被创建一次,从而实现了线程安全的单例模式。在第一次访问静态类的任何静态成员之前。
2025-01-24 11:31:37
351
原创 Unity预制体未即时刷新
有时候在用代码修改预制体某个组件中的属性时,可能原本预制体未及时刷新:可以使用PrefabUtility.SavePrefabAsset(gameobject)等函数,使得使用代码修改之后马上刷新生效。
2025-01-21 21:43:59
668
原创 在线正则表达式编译和可视化网站
regex101: build, test, and debug regexRegExr: Learn, Build, & Test RegEx
2024-11-12 10:20:11
145
原创 Toggle中的graphic
如上图所示,SortList为Toggle Group,下面的sortItem挂载上Toggle,如果将sortItem上的graphic设置为UnSelected_,当当前sortItem的Toggle为off时,UnSelected的alpha会被设置为0。
2024-09-29 17:25:42
276
原创 Lua中大量注释后取消
在Lua中注释掉一些调试的代码之后,逐个去取消掉又十分耗时麻烦,调试的信息可以像下面这样写,大量取消的时候可以直接搜索替换。
2024-08-29 11:13:02
623
原创 Unity自带的UGUI ScrollView刷新不及时问题
如上所示,当我想刷新Unity中的一个ScrollView的列表后,将这个列表瞬间移至底部。但是上述这三行代码会出现一个问题:存在ScrollView列表中的东西还未刷新完,就执行了移至底部的方法,导致最终的效果与预期不符。那怎么让它在刷新完成之后再进行后续的操作?
2024-08-09 09:53:08
737
原创 struct易错点
以上在修改Ast中的id错误的原因是因为Ast是struct值类型,当你在修改id的时候实际上修改的是它的副本;将Ast修改为引用类型的class即可。
2024-06-13 17:40:34
185
原创 Unity中Destroy的坑
后续又改为使用DestroyImmediate方法立即删除子物体,但是使用DestroyImmediate实时删除对象和清除缓存,会导致主线程卡顿,也就是游戏卡顿,并且每次都是单次调用,会导致消耗更多的资源,因为准备清除缓存和缓存清除之后的过程,都是需要消耗资源的。原因如下:只是将他标记为需要删除,并不会马上删除和清理缓存,会在当前帧结束时(也即是在当前帧不能直接删除掉所有的物体),将所有标记为需要删除的对象,进行删除和缓存清理,它是异步执行的,不会影响主线程的执行,并且更加节省性能。
2024-04-07 22:09:10
667
1
原创 Gitee出现error:LFS... failed to push some refs to ‘https://gitee.com/xxx‘
如上图:Gitee在提交大文件时,出现如上图错误,异常退出。
2024-01-25 20:49:46
390
1
原创 xLua:添加CSharpCallLua报错
File->Build Settings->Player Settings->Player->Other Settings->Configuration->Api Compatibility Level(.Net修改为4.x)
2023-07-03 18:39:19
236
转载 Lua中pairs和ipairs的区别
https://blog.csdn.net/songfeihu0810232/article/details/124767846[pairs和ipairs的区别]
2023-06-28 17:24:35
638
原创 LeetCode.628三个数的最大和(C++)
题目描述:题解思路及代码(注意不是只包括全是负数或全是正数的情况,两种方法):class Solution {public: int maximumProduct(vector<int>& nums) { // //1、如果是全正或者全负,直接排序后找最大的三个数 // //2、如果有正有负,可以找出最大的三个正数与最小的两个负数与最大的正数相乘的较大值 // int n=nums.size(); // so
2022-02-18 15:11:18
712
原创 LeetCode599.两个列表的最小索引总和(C++)
题目描述:题解思路:(哈希表+遍历)1、首先将list1中的元素以及对应的下标映射到哈希表中,这样在list2中遍历每个元素时可以很快速方便的查找并求出最小下标和2、遍历list2中的每个元素,在哈希表中查找是否有list2中的元素,如果有需要先判断下标和是否更小,如果更小先将ans数组清空,并把相应的信息存储进去(下标和、对应的元素)。3、请结合代码理解class Solution {public: vector<string> findRestaurant(vecto
2022-02-18 14:14:35
437
原创 LeetCode598.范围求和(C++)
题目描述:题解思路:class Solution {public: int maxCount(int m, int n, vector<vector<int>>& ops) { int min_row=m,min_col=n; for(auto &op:ops) { min_row=min(min_row,op[0]); min_col=min(min_
2022-02-17 15:50:12
299
原创 LeetCode566.重塑矩阵
注:将二维数组映射为一维数组例如:num[i][j]=i*n+j(二维数组映射为一维数组下标)x为遍历一维数组的下标数:num[x/列数][x%列数]:已经一维数组下标,将一维数组映射到二维数组
2022-02-16 17:28:43
191
原创 LeetCode506.相对名次(C++)
题目描述:题解思路:C++中pair的基本用法class Solution {public: vector<string> findRelativeRanks(vector<int>& score) { int n=score.size(); string dec[3]={"Gold Medal","Silver Medal","Bronze Medal"}; vector<pair<int,int
2022-02-15 12:12:58
299
原创 LeetCode500.键盘行(C++)
题目描述:题解思路:代码:class Solution {public: vector<string> findWords(vector<string>& words) { vector<string> ans; string rowIdx="12210111011122000010020202"; for(auto & word:words) {
2022-02-07 18:44:42
415
原创 LeetCode.496.下一个更大的元素(C++)
题目描述:题解思路:方法一:暴力解法class Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { //暴力解法,遍历两数组 int length1=nums1.size(); int length2=nums2.size(); vector&
2022-01-29 11:30:52
1204
原创 LeetCode455.分发饼干(C++)
题目描述:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口值
2021-12-29 17:00:22
175
原创 LeetCode448.找到数组中消失的数字(C++)
题目描述:给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:nums = [1,1]输出:[2]题解思路:方法一:将nums数组存储到一个哈希集合中,然后遍历nums数组nums[i],利用哈希集合中count()函数寻找是否存在nums[i]。如果存在将nums
2021-12-28 15:33:32
858
原创 LeetCode88.合并两个有序数组
题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,
2021-12-07 16:37:40
123
原创 LeetCode66.加一
题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头,如果数组中有一个数为9,这个数会进位,即数组个数会加1。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digi
2021-12-02 20:29:57
190
原创 LeetCode26.删除有序数组中的重复项
题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDuplicat
2021-11-30 10:25:45
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人