自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Erick Lv的笔记

所有的博客仅作为个人笔记

  • 博客(56)
  • 资源 (4)
  • 收藏
  • 关注

原创 C#的委托和事件

委托委托相当于C++的函数指针或者函数的引用。using System;public class FunClass{ public void func1() { Console.WriteLine ("func 1"); } public void func2() { Console.WriteLine ("fun...

2018-10-30 08:03:57 109

原创 MySql笔记

设置多个主键:create table hello(id int,name varchar(20),CONSTRAINT 别名 PRIMARY KEY (id,name));

2018-10-27 22:31:46 124

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

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路数组下标对应的方式进行重复判断。注意题目,只要第一个就行。AC代码class Solution { publ...

2018-10-25 15:34:43 170

原创 剑指Offer字符串转换成整数

题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。思路注意合法性判别即可AC代码class Solution { public: int StrToInt(string str) { if(s...

2018-10-25 15:12:28 131

原创 剑指Offer之不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路异或和移位操作。AC代码class Solution {public: int Add(int num1, int num2) { while(num2!=0) { int temp = num1^num2; num2...

2018-10-25 09:40:16 130

原创 剑指Offer之求解1+2+....+n

题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路使用短路操作,借助递归实现。AC代码class Solution {public: int Sum_Solution(int n) { int ans = n; // 注意括号 an...

2018-10-25 09:35:13 147

原创 剑指Offer之扑克牌顺子

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张...

2018-10-25 08:47:15 123

原创 剑指Offer值和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路l表示左侧位置,r表示右侧位置。不断向中间靠拢,如果array[l]+array[r] == sum,则找到正确结果,如果l>=r说明无解。AC代码注意边界条件class Solution { public: vector<...

2018-10-25 08:20:16 156

原创 Dijkstra算法

算法简介算法用于求解源点到各个节点直接的最短路径。该算法的核心是使用路径松弛操作,借助一个三角不等式进行实现。假设当前的的源点是sss,目的节点是vvv,δ(s,v)\delta(s,v)δ(s,v)表示当前sss到vvv的最短距离,uuu表示vvv的任意一个节点,而且w(u,v)w(u,v)w(u,v)表示边的权重,那么恒有:δ(s,v)≤δ(s,u)+w(u,v)\delta(s,v)\...

2018-10-24 23:34:12 144

原创 Unity实现发射子弹的功能

常用于射击类游戏的射击,在道具前连续不断的发射子弹。一般的实现方式是:在物体前面定义一个空的GameObject,然后把这个GameObject作为物体的子对象;给子对象添加脚本,在子对象不断使用Instantiate实例化Prefabs里面的子弹对象即可,注意给子弹定时销毁的时间。给出常用的函数:public static Object Instantiate(Object original...

2018-10-20 21:27:17 13533

原创 Unity实现爆炸的伤害值计算

这种方式常用于对战类的游戏,比如FPS中的手雷,坦克对战的炮弹等。距离爆炸中心越紧,伤害越高。在Unity中,通常以这类爆炸物为中心,计算爆炸范围内部的有效伤害物体,然后进行有关处理。先给核心的函数:public static Collider[] OverlapSphere(Vector3 position, f...

2018-10-20 19:08:14 2648 2

原创 Unity实现物体生命值跟踪的方法

需要使用Canvas,并把Canvas作为一个GameObject的子对象。之后,在Canvas上绘制需要的生命值的图形。但是,需要注意的是,必须控制Canvas,使之不能随着人物转动而转动!!!具体方法是每一帧都刷新位置,使之与初始化的旋转角度相同:public class UIDirectionControl : MonoBehaviour{ public bool m_UseR...

2018-10-20 16:33:50 1073

原创 Unity5 实现汽车类物体转向的方法

Unity中,汽车的转向通过向前移动,并且同时绕y轴旋转进行。通用方法是:RigidBody m_RigidBody = GetComponent<RigidBody> ();float speed = 6f;private void FixedUpdate(){ Move(); Turn();}private void Move(){ float v = In...

2018-10-19 22:55:36 5425 2

原创 Unit5 Survival Shooter笔记3

调用游戏脚本Unity作用,脚本也是一个GameObject的基本的Component,也可以使用GetComponent<>()进行调用,<>内部输入脚本的名称即可。可以调用脚本的public变量。Line Render在游戏场景绘制一条光线。添加一个Line Render组件。获取定点函数:public void SetPosition(int index, ...

2018-10-19 15:03:47 176

原创 Unity5 Survival Shooter开发笔记2

相机跟随人物移动先介绍一个属性:public static float deltaTime;这是一个只读的属性,返回上一帧到这一帧的时间。如果你想要在每一帧增加或者减少数据,需要用数据乘以deltaTime这个数据,比如:using UnityEngine;using System.Collections;public class ExampleClass : MonoBehavi...

2018-10-17 17:26:43 139

原创 Unity5 Survival Shooter开发笔记(1)

Animator 与Animator ControllerAnimator(动画)是游戏角色的基本属性,比如一个任务在屏幕上移动,是靠播放动画实现的。Animator Controller相当于一个状态机,在不同的动画之间进行切换。比如人物移动是一个动画,如果停止按下移动键,那么会切换到静止的状态;如果任务死亡,会播放死亡的动画。这一切靠的是Animator Controller进行的自动切换。...

2018-10-17 11:18:48 405

原创 Unity5 Space Shooter基础部分开发笔记

位置布局一般来说,新建的有关场景位置等,都要先进行位置初始化操作,子对象的布局是相对于父对象的。Main CameraMainCamera有两种主要的Projection,分别是Perspective(透视的)和Othpgraphic(正交的)。透视形式会有适当的缩放,适合3D建模;正交形式是视角是平直的,适合2D建模(暂时这么认为,可能不太准确)。本次项目使用2D形式。光线处理删除默认...

2018-10-15 22:51:54 225

原创 Unity5 Roll A Ball项目笔记

ScenesUnity开发的游戏是由一个个场景组成的。Prefabs预制件预制件的相当于一个模板,利用Prefab创造的对象,可以进行统一的配置和编码。GameObjectGameObject是Unity中所以实体的基类。同样的,该类型可以向任何子类目标进行转换。MonoBehaviour所有使用Unity脚本(C#)的类,都需要显示的继承这个类。该类型有几个关于生命周期的函数:...

2018-10-14 19:23:48 165

原创 剑指Offer之翻转单词顺序列

题目描述解题思路一个比较简单的思路,参考的这篇博客:https://www.cnblogs.com/zhang-yd/p/6617186.html先整体翻转,再单独翻转每个单词。注意处理最后一个的边界条件!!!!!AC代码class Solution { public: string ReverseSentence(string str) { reverse(...

2018-10-14 17:51:45 242

原创 剑指Offer之左旋字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!解题思路一道水题,只需要判别出实际等效移动的n即可,n=n%str.length(); 需要注意...

2018-10-14 17:51:32 174

原创 剑指Offer之和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列。序...

2018-10-14 17:51:20 92

原创 Windows10使用Anaconda安装TensorFlow-GPU

简介需要开发Unity AI Agent,可以使用tensorflow进行训练,而Unity只有Win和Mac版本的,所以重新回归Win10系统。。不过,win10也可以使用Linux的子系统了,以后就用win10和linux子系统吧。。。。这里有Ubuntu16.04的教程:https://blog.csdn.net/qq_35976351/article/details/79325476...

2018-10-13 20:28:25 6934 8

原创 剑指Offer之数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。解题思路先对数组进行排序,然后再进行线性统计,时间复杂度是O(Nlog⁡N)O(N\log N)O(NlogN)。AC代码class Solution { public: void FindNumsAppearOnce(vector<int> data, int*...

2018-10-11 18:46:46 94

原创 剑指Offer之平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路首先,要知道什么是平衡二叉树,总结一句话,左右子树深度之差不超过1.所以,这个题目是利用了上一题的求深度,然后递归判别所有的子树是否是平衡二叉树。。。AC代码class Solution { public: bool IsBalanced_Solution(TreeNode* pRoot) { i...

2018-10-11 16:54:48 143

原创 剑指Offer值二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路递归地求解,深度是左右子树中较高的一个,递归终止条件的遇到空节点。返回时注意+1,表示当前的深度。AC代码class Solution { public: int TreeDepth(TreeNode* pRoot) { if...

2018-10-11 16:33:20 97

原创 剑指Offer值数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。解题思路看到排序立马想到二分,利用STL的upper_bound与lower_bound处理即可。复杂度是O(log⁡N)O(\log N)O(logN)AC代码class Solution { public: int GetNumberOfK(vector<int> data, int k) { ret...

2018-10-11 16:28:53 85

原创 剑指Offer之两个链表的第一个公共节点

题目描述输入两个链表,找出它们的第一个公共结点。解题思路首先,如果都是空链表,那么肯定返回空。两个单链表假设有公共节点,那么肯定是“Y”字型的。先计算两个链表的长度,求出长度差根据长度差,后移长链表的头指针,使得两个链表的现在的头指针的位置距离为节点一样同步移动,直到指针相等,是Y型的连接处,也就是公共点;注意没有公共点的情况。AC代码class Solution { pu...

2018-10-11 16:24:19 134

原创 C++的迭代器

这里介绍的4中迭代器是标准迭代器之外的类型。插入迭代器由于STL的算法不能直接改变容器的结构,而有些时候确实需要对容器进行数据插入,此时应该使用插入迭代器。总共有3类。insert指定位置插入类型该类迭代器可以使算法在容器的指定位置进行数据的插入,也可以是end()位置。std::insert_iterator这个迭代器经常用于让算法在容器的特定位置进行数据插入。简单的使用实例:#i...

2018-10-11 15:37:47 147

原创 数据库规范化

码和属性的关系函数依赖f(X)→Yf(X)\rightarrow Yf(X)→Y,则YYY函数依赖于XXX。理解为知道XXX后,就可以推出YYY;而且,能且仅能推出唯一的YYY。这类似于数学上的函数。平凡函数依赖:X→YX \rightarrow YX→Y,同时Y∈XY \in XY∈X,则是平凡函数依赖。非平凡函数依赖:X→FYX \xrightarrow{F} YXF​Y,同时Y∉XY...

2018-10-11 14:19:55 5746 1

原创 剑指Offer之逆序对问题

问题描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007求解思路归并排序的方法求解,这样获得的复杂度是O(Nlog⁡N)O(N\log N)O(NlogN)。思路如下:假设左右两侧区间是排好序并且已经统计完逆序对个数的序列,那么对这两个区间...

2018-10-11 09:57:12 203

原创 关于数组表示的二叉结构中,下标乘除法对应关系的理解

在C/C++中,有很多时候,需要处理类似于二叉树的结构。二叉树节点都有左右两个孩子和父节点(假设它们都存在)。为了方便表示,我们一般采用链式结构存储。可是,如果是完全二叉树的结构,甚至于满二叉树的结构,同时对开辟和释放节点速度的要求也比较高的情况下,就需要使用数组进行表示了。数组存储最大的优势在于随机访问,那么父节点和孩子节点的对应法则是:left = 2 * parent;right = ...

2018-10-11 09:26:55 273

原创 C++左闭右开区间的理解

C++的区间是左闭右开的,关于这样做的优势,做了一个笔记整理,也处理下之前一直比较模糊的区间二分的问题。左闭右开的区间第一个优势是,当需要取中间元素的时候,mid=begin+end/2的定位问题。如果区间元素的个数是奇数个,那么mid永远是指向中间的元素;如果区间元素是偶数个,那么mid永远指向后半段区间的首元素。这样做在二分查找等一些算法的实现上特别有优势。mid的另一个等效的写法是mid=...

2018-10-11 09:07:37 4488

原创 剑指Offer之第一个只出现一次的字符

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解题思路设置一个计数数组,下标表示字符的ASCII码,本身的数据表示出现的次数,初始化为0。遍历整个字符串,把字符串的字符映射到ASCII码并计数。之后遍历一遍pos数组,把第一个是1的返回即可。时间复杂度是O(N)O(N)...

2018-10-10 16:07:43 124

原创 STL的二分查找

binary_search二分查找,复杂度时O(log⁡N)O(\log N)O(logN),如果存在返回true,否则返回false。template <class ForwardIterator, class T> bool binary_search (ForwardIterator first, ForwardIterator last, ...

2018-10-10 15:15:50 222

原创 STL的算法补充笔记-1

操作元素序列transform对元素序列进行操作,把结果存储在result中,复杂度O(N)O(N)O(N),N=last1−first1N = last1-first1N=last1−first1template <class InputIterator, class OutputIterator, class UnaryOperation> OutputIterator t...

2018-10-10 14:28:50 99

原创 剑指Offer之把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路把vector中的数字先转换成字符串,存到vec中。然后,需要按照某种字典序对vec中的字符串进行排序。思路很简单,假设有两个字符串s1、s2,如果s1+s2的字典序小于等于s2+s1的字典序,那么s1...

2018-10-09 20:01:36 101

原创 剑指Offer之整数中1出现的次数(从1到n整数中1出现的次数)

题目描述求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。解题思路利用取余数方式计算每个数字中1的个数,然后累加即可。。。水题。。...

2018-10-09 19:11:00 232

原创 剑指offer之连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2018-10-09 18:58:42 96

原创 剑指Offer之最小的k个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。求解思路在数据上建堆,这样的复杂度是O(klog⁡N)O(k\log N)O(klogN)。有两个坑:第一个时如果k超过input的容量,返回空;第二个是注意使用比较函数,make_heap和pop_heap都要用到。AC代码class Solution {...

2018-10-09 18:30:51 86

原创 剑指offer之统计数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路暴力法的时间复杂度时O(N)O(N)O(N),肯定不行。正确的思路是,对数组进行从小到大排序,然后线性查找即可。这样的时间复杂度时O(log⁡N)O(\log N)O(...

2018-10-09 18:12:01 137

code reading

Coding Reading 英文原书,主要讲述了高效阅读源代码的方式。磨刀不误砍柴工,很有学习的价值

2018-06-07

BTree数据结构课程设计C++版

BTree数据结构课程设计C++版,完整的过程和C++源代码,包括算法的源代码等。C++代码可以直接运行。

2018-01-15

空空如也

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

TA关注的人

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