自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

忽同学的博客

所有的焦虑都在于能力不够,而解决焦虑最好的办法就是行动。

  • 博客(39)
  • 收藏
  • 关注

原创 Unity开发简单的RPGDemo【工程分享】

写在前边最近入职新公司,在前期学习阶段,需要去实现一个简单的RPG小练习,在这里便记录分享一下,本RPGDemo中的一些基本功能实现以及工程分享。感兴趣的同学,在文章最下边可以找到项目的GitHub地址哦。正文基本功能首先来介绍一下Demo中的基本功能及效果。1.使用terrain生成基本地形2.主角NPC与野怪NPC的动画效果,包括移动、攻击、站立以及死亡动画。3.摄...

2020-04-17 15:26:43 1544 3

原创 Unity发布WebGL播放视频【免插件,可快进后退,复制脚本即可使用】

写在前边

2020-04-02 21:07:15 5043 9

原创 Lua基础教程之函数

定义函数--获取较大值function Max(a,b) return (a > b) and a or bend  lua中还可以将函数作为参数传递给函数myprint = function(param) print("这是打印函数 - ##",param,"##")endfunction add(num1,num2,functionPrint) result = num1 + num2 -- 调用传递的函数参数 functionPrin

2020-05-10 09:57:47 295

原创 Lua基础教程之语句

赋值  基础赋值a = 10 tab.name = "name"  多重赋值a,b = 10,"abc" a,b = b,a --交换两个变量 多重赋值时,注意左右格数不匹配的情况 a,b,c = 0,1 print(a,b,c) 输出 0,1,nil a,b,c = 0 print(a,b,c) 输出 nil.nil,0局部变量与块(block)  使...

2020-05-07 09:53:52 294

原创 Lua基础教程之表达式

算数运算符  +、-、*、/、^(指数)、%(取模)  取模操作定义a%b == a-floor(a/b)*b  对于整数来说,以上算式通常都是有意义的,热对于实数来说,则可能有其他用途。  例如,X%1的结果就是X的小数部分,而X-X%1的结果就是其整数部分。类似的,X-X%0.01则是X精确到小数点后两位的结果。x = math.pi print(x-x%0.01)...

2020-05-05 15:56:46 252

原创 Lua基础教程之类型与值

注释单行注释 -- 多行注释 --[[ --]]基本数据结构  nil  nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值,对于全局变量和table,nil还有一个“删除”的作用,将其赋值为nil即可。  nil作比较时,应该加上双引号""type(X) nil type(X)==nil...

2020-05-05 15:53:02 279

原创 剑指Offer之从上到下打印二叉树

题目:  从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。  示例:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]题解:  显而易见,使用BFS(广度优先搜索)来遍历二叉树,利用队列的先进先出特性来存储当前遍历节点。...

2020-04-29 09:39:05 131

转载 剑指Offer之压入栈弹出序列

题目:  输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。  即:判断序列是否为栈的弹出可能结果。  示例 1:输入:pushed = [1...

2020-04-29 09:31:33 82

原创 剑指Offer之包含min函数的栈

题目:  定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。  示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); ...

2020-04-29 09:28:46 137

原创 剑指Offer之顺时针打印矩阵

题目:  输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。  示例 1:  输入:matrix = [ [1,2,3], [4,5,6], [7,8,9] ]  输出:[1,2,3,6,9,8,7,4,5]  示例 2:输入:matrix = [ [1,2,3,4], [5...

2020-04-28 09:29:43 97

原创 剑指Offer之对称二叉树

题目:  请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。  例如,二叉树[1,2,2,3,4,4,3] 是对称的。   1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2...

2020-04-28 09:25:52 101

原创 剑指Offer之二叉树镜像

题目:  请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1  示例 1:  输入:root = [4,2,7,1,3,6,9]  输出:[4,7,2,9,6...

2020-04-27 09:56:35 96

原创 剑指Offer之二叉树的子结构

题目:  输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)  B是A的子结构, 即 A中有出现和B相同的结构和节点值。  例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。  示例 1:...

2020-04-27 09:48:34 123

原创 剑指Offer之合并两个有序链表

题目  将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4题解  遍历指针,比较节点值大小,合并即可。注意最后剩余节点的处理。public class ListNode { ...

2020-04-27 09:44:38 142

原创 剑指Offer之反转链表

题目:  反转一个单链表。  输入: 1->2->3->4->5->NULL   输出: 5->4->3->2->1->NULL题解:  从前向后依次反转即可,如下所示第一次:2->1->3->4->5第二次:3->2->1->4->5第三次:4->3-&...

2020-04-26 10:28:26 81

原创 剑指Offer之链表中的第k个节点

题目:  输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。  示例:  给定一个链表: 1->2->3->4->5, 和 k = 2. 返回链表 4->5.题解:...

2020-04-26 10:08:23 174

原创 剑指Offer之调整数组顺序使奇数位于偶数前边

题目:  输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。题解:  使用头尾双指针,头指针找出偶数,尾指针找出奇数,然后交换即可。  代码实现public class Solution { public int[] Exchange(int[] nums) { int i ...

2020-04-26 10:05:08 96

原创 剑指Offer之删除链表中的节点

题目:  给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。  示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.  示例 2:输入: head = [4,5,...

2020-04-24 09:42:09 129

原创 剑指Offer之打印从1到最大的n位数

题目:  输入数字n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。  示例 1:  输入: n = 1 输出: [1,2,3,4,5,6,7,8,9]题解:  求出最大值,遍历存入即可。public class Solution { public int[] PrintNumbers(int...

2020-04-24 09:36:51 141

原创 剑指Offer之数值的整数次方

题目:  实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。  示例 1:  输入: 2.00000, 10 输出: 1024.00000  示例2:  输入: 2.10000, 3 输出: 9.26100  示例3:  输入: 2.00000, -2 输...

2020-04-24 09:33:57 90

原创 剑指Offer之二进制中1的个数

题目:  请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。  示例 1:输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。...

2020-04-23 09:46:48 94

原创 剑指Offer之剪绳子

题目:  给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。  示例 1:  输入: 2  输出: 1   ...

2020-04-23 09:42:38 145

原创 剑指Offer之机器人运动范围

题目:  地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器...

2020-04-22 09:57:18 129 1

原创 剑指Offer之矩阵中的路径

题目:  请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。   [["a","b","c","e"],   ["s","f","c",...

2020-04-22 09:44:36 76

原创 剑指Offer之旋转数组的最小数字

题目:  把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。  实例1:  输入:[3,4,5,1,2]  输出:1  实例2:  输入:[2,2,2,0,1]  输出:0题解:  方法一:...

2020-04-21 10:04:40 86

原创 剑指Offer之青蛙跳台阶

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。注意:当n=0时,result=1;  实例1:输入:n = 2输出:2  实例2:输入:n = 7输出:21题解:  通过计算前几项后,发现是变相...

2020-04-21 09:50:36 109

原创 剑指Offer之斐波那契数列

题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1)= 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007...

2020-04-21 09:46:13 94

原创 剑指Offer之用两个栈实现队列

题目:使用两个栈实现队列,实现插入,删除函数功能。题解:一个栈用来插入,另一个栈用来删除元素。当插入元素时,直接插入,当删除元素时,如果删除栈为空,则将插入栈中元素依次出栈存入删除栈(实现反序),然后出栈即可,若删除栈不为空,则直接出栈删除即可。注意:队列为空时,返回-1;代码实现public class CQueue { private Stack<in...

2020-04-21 09:42:42 92 1

原创 剑指Offer之重建二叉树

题目:  输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。  示例:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题解:  经验总结:二叉树的问题...

2020-04-04 11:18:10 85

原创 剑指Offer之从尾到头打印链表

题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例:输入:head = [1,3,2]输出:[2,3,1]题解:利用栈的属性,遍历节点,将节点值压入栈中,在将栈中值弹出存入数组即可。public class ListNode{ public int val; public ListNode next; public...

2020-04-04 10:08:09 81

原创 剑指Offer之替换数组中的字符

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。题解:1.转换为char 数组 进行处理static string ReplaceSpace(string item){ char[] tempstr = item.ToCharArray(...

2020-04-03 10:39:15 99

原创 剑指Offer之二维数组中的查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例{ [1,2,8,9], [2,5,8,12], [3,5,7,8], [10,11,12,13] }...

2020-04-03 10:08:52 66

原创 Unity发布WebGL运行问题

写在前面  Unity发布到Web平台的项目,在低版本的浏览器中,直接右键打开index.html文件,便可打开项目运行,但是升级浏览器后,发现在双击打开项目时,显示网页不支持运行WebGL等错误。下面我就来解决一下这个小问题。正文  ...

2020-04-02 21:09:52 3868 1

原创 剑指Offer之数组中重复数字

题目:  找出数组中重复的数字。  在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3题解:  方法一:  利用字典Dictionary,遍历数组,在将数...

2020-04-02 10:22:04 82

转载 Unity Shader 基础教程

Unity-Shader-基础教程在Github上看到一篇关于Unity-Shader的教程,感觉还不错,作者写的很好,很适合Unity-Shader的基础入门,我在这里翻译一下,分享给大家,英文水平很烂,大致能明白Unity-Shader是什么,渲染管线的工作流程,以及Unity Shader的一些类型和怎样编写Unity Shader。(原文链接)第一部分:什么是Shader?S...

2019-05-07 15:46:09 383 1

原创 Unity中实现3D拾取功能及其原理

写在前面3D拾取功能在实际项目开发中是一种非常常用的功能,尤其是在3D游戏中,拾取技术是必不可少的基础操作,拾取技术极大的增强了游戏的交互性。3D拾取原理简单的来说,3D拾取是通过屏幕上的一个点与摄像机的位置(摄像机控件原点)构成一条射线,然后与场景中物体进行相交,判断是否相交,进而进行拾取操作,这个相交判断的实际是射线与三角形的相交判断算法。在实际开发中,更多的使用包围盒等算法...

2019-05-06 17:10:08 5852

转载 深入探索3D拾取技术

3D拾取在游戏中,玩家需要通过点击2D屏幕来选择3D物体,这个过程就是拾取(picking)。拾取是3D游戏必不可少的基本操作,它实现了玩家和游戏世界内对象的交互。虽然拾取技术很基本,但它却迷惑了很多3D初学者。很多朋友都问过我关于拾取的细节问题,这让我觉得很有必要具体探讨一下该技术。 其实,拾取之所以让很多开发者感到复杂,主要原因在于它跨域了流水线的多个阶段,并且是逆流水线上行。另外,它...

2019-05-06 17:04:58 442

转载 【好文推荐】在你步入职业软件开发生涯那天起就该知道的五件事

这篇博客是实验室老哥推荐给我的,觉得很受用,便转发过来了。我也非常感谢感谢他,免费帮他宣传一波他的博客吧(我认为他很强,哈哈哈)。本博客转发自浅墨_毛星云,原文链接:https://blog.csdn.net/poem_qianmo/article/details/24658081这是一篇译文。个人觉得很不错,就发到博客上来了。 我的软件开发生涯开始于大约15年以前。但是直到最...

2018-10-31 19:03:12 127

原创 Three.js实现台灯的灯光效果

写在前面这篇博客和Demo早就想写了,简单版的Demo早就完成了,博客最近才写,主要的原因是原来不努力啊,非常惭愧啊。扯远了,不说了。回到正轨,这个案例的由来是有一天晚上从实验室回宿舍,看到街边的路灯,便想实现一下。结果便了无音讯了(哈哈哈嗝.gif),前两天在一个webgl交流群里,有个人发了一张室内装修渲染图,我看到了里边的台灯,便想起了这个坑还没有填,最后便有了这个案例。台灯效果类似...

2018-10-31 17:19:20 3341

空空如也

空空如也

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

TA关注的人

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