自定义博客皮肤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)
  • 收藏
  • 关注

原创 Largest Rectangle in Histogram

给定一个数组,把每个元素当做一个矩形,宽度为1,高度为数组元素的值,求出这个数组中矩形面积最大的值。我的做法是遍历数组,给每个值找到左边比他小的值的下标,右边比他值小的下标。两个下标之间的距离即是这个矩形的宽。然后计算面积和最大面积进行比较与替换. 这个算法的时间复杂度为O(n²)int largestRectangle(vector<int> &height){ int sum=0,

2016-04-07 19:40:44 385

转载 找出出现次数超过数组一半元素的数

开始时k存储数组中的第一个数,j为0,如果数组出现的数于k相等,则j加1,否则就减1,如果j为0,就把当前数组中的数赋给k 因为指定的数出现的次数大于数组长度的一半,所有j++与j–相抵消之后,最后j的值是大于等于1的,k中存的那个数就是出现最多的那个数。下面这个算法只适合数组中数组中某个数的出现次数超过数组长度一半的数组int Search(int A[],int len){if

2016-03-26 11:04:51 591

转载 大数乘法

乘积是逐位相乘,也就是aibj,结果加入到积C的第i+j位,最后处理进位即可,例如:A =17 = 1*10 + 7 = (7,1)最后是十进制的幂表示法,幂次是从低位到高位,以下同。B=25 = 2*10 + 5 = (5, 2);C = A * B = (7 * 5, 1 * 5 + 2 * 7, 1 * 2) = (35, 19, 2) = (5, 22, 2) = (5, 2. 4)=425

2016-03-25 22:39:44 479

转载 自动生成格雷码

出处:blog.csdn.net/beiyeqingteng问题:产生n位元的所有格雷码。格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。 例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。 如果要产生n位元的格雷码,那么格雷码的个数为2^n.假设原始的值从0开始,格雷码

2016-03-25 22:30:19 505

原创 unity学习笔记—一部分粒子系统

每一个粒子系统都会包含一个主要模块(main Module),该模块不能被禁用或删除。 Start life time :表示粒子初始的生命周期 Start speed : 表示粒子的初始速度,可以设定在一个区间范围内 Start size: 表示粒子的初始大小,可以设定在一个区间范围内 start rotation:表示粒子的初始方向,可以设定在一个区间范围内 Start colo

2016-03-21 20:55:43 2341

翻译 散列表-拉链法

一个散列函数能够将转化为数组索引。散列算法的第二步是碰撞处理,也就是处理两个或者多个散列值的情况。一种直接的方法是将大小为M的数组的每一个元素指向一条链表,链表中的每个节点都存储了散列值为该元素的索引的键值对,这种方法称为拉链法,因为发生冲突的元素都被存储在链表之中,这个方法的基本思想就是选择足够大的M,使得所有链表都尽可能短以保证查找的高效。查找分为两步:首先根据散列值找到对应的链表,然后沿着链表

2016-03-20 20:00:55 2621

原创 计算机图形学笔记-三种画线算法

1.DDA:在一个坐标轴上以单位间隔对线段取样,从而确定另一个坐标轴上最靠近路线的整数点。 如果斜率m<=1,则以单位X间隔取样,逐步计算y值 y(k+1)=y(k)+m 如果斜率m>1,则以单位Y间隔取样,逐步计算X值 x(k+1)=x(k)+1/m这个算法可以概括为以下过程:首先输入两个端点的坐标,计算端点之间的水平和垂直差值分别赋值给dx,dy 他们绝对值大的作为确定参数K的值。在这个绝

2016-03-18 22:05:30 7539 1

原创 算法复习笔记-BST

二叉树是一种能够将链表插入的灵活性和有序数组查找的高效性结合起来的数据结构实现,这个数据结构主要是由一些节点构成。//节点包含的链接可以为NULL或者指向其他节点,在二叉树中,每个节点最多只能有一个父节点,而且每个节点都有左右两个子节点,如果把节点指向的位置看成另一颗二叉树,则一个根节点指向的就是它的左右子树。节点的定义为一个键,一个值,两个左右子节点public calss Node{

2016-03-16 18:56:01 385

原创 Unity实例-坦克大战

这个示例使用了官方教程的素材,自建脚本之后实现与原游戏的不同感觉。 1.这个坦克大战主要是实现了几组敌对坦克的互相混战(通过设置不同的层级来识别)。AI坦克有搜寻敌对坦克,自动寻路自动开火功能。 由本方的炮弹击中敌对的坦克会对对方产生力的效果并执行伤害计算。坦克死亡的时候会生成死亡坦克对象并播放爆炸效果;1.玩家视角控制脚本using UnityEngine;using System.Coll

2016-03-14 20:07:43 2540

原创 算法复习-3种较高级排序

1.归并排序:它先将要排序的数组递归地分成两半分别排序,然后再将结果归并起来。要做到这一点首先需要一种原地归并两半数组的方法,该方法的思想为先将所有数组复制到一个辅助数组aux[]中,然后再归并到a[]中,也就说将数组按下标i=lo~mid,j=mid+1~hi两部分进行大小比较然后依次返回原数组之中,在比较的时候需要添加一下判定条件 1.左半边用完,i>mid,则直接把右半边剩余数组依次放入原数

2016-03-09 15:13:53 409

原创 算法复习2-3种初级排序

1.选择排序:首先找到数组中最小的那个元素,其次将它和数组第一个元素交换位置,再次,在剩下的元素中寻找最小的元素,将它与数组第二个元素交换。直到整个数组排序完毕。public void Selection(int[] a){ int N=a.length(); for(int i=0;i<N;i++) { int min=i; for(int j=i+1;j<N;

2016-03-06 19:39:07 464

原创 Unity-飞行射击实例的代码

花了一天的时间,照着官方的说明将spaceshoot这个DEMO撸了一遍,实现了一个简单飞行射击游戏应有的小功能,本想着用Unet这个组件把这个游戏做成一个联网的,无奈只能实现飞机运动之间的同步,其余部分画面都是不同步的。等经过进一步的学习之后我会再把这个DEMO进行完善。 接下来就分析一下这个DEMO的各个游戏对象与组件的关系。 1.场景:这个飞行射击游戏只有需要一个场景,一张用图

2016-03-04 23:42:42 3407

原创 unity——角色控制以及网络组件

角色通过WSAD来控制移动,主要是通过获取X,Z轴上的输入值之后,进行旋转和移动的运算using UnityEngine;using System.Collections;using UnityEngine.Networking;public class playercontrol : NetworkBehaviour { public float moveSpeed;//移动速度

2016-03-03 00:44:53 641

原创 unity-场景重置,游戏对象的初始化改变以及复制

1.改变游戏对象的初始值。在脚本之中使用Getcomponet<>()函数获得物体的 Transform或者Rigidbody,之后调用随机函数Random.range()来对游戏对象的初始数值进行一个随机化。并在检测到鼠标左键点击之后重置场景,之后游戏对象的初始值就会发生变化using UnityEngine;using System.Collections;public class lifec

2016-03-01 22:02:40 19488

原创 Unity学习笔记——利用脚本实现对一个物体的第三人称观察

首先,要为被观测对象设定一个子对象(用于添加组件和放入摄像机),然后再拖出(这样就能保持这个空物体的transform和被观测物体一致。),将摄像机拖入这个空物体之中作为子物体。其中是针对空物体的视角来进行旋转,针对它的子物体摄像机来进行缩放脚本代码为using UnityEngine;using System.Collections;public class FYLcamera : MonoBe

2016-03-01 21:47:49 555

转载 unity中的Transform类

Transform 变换,是场景中最常打交道的类,用于控制物体的位移,旋转,缩放等功能。TransformClass, inherits from Component, IEnumerablePosition, rotation and scale of an object.控制物体的位置,旋转和缩放。Every object in a sc

2016-03-01 15:41:28 1011

原创 个人算法复习笔记1-二分查找

个人算法复习笔记1-二分查找二分查找的前提是此数组已经有序,所以接收一个key值和一个已经排序的Vector容器,算法使用两个变量lo,hi来记录两端,每次计算中间值与key比较,如果kye小于中间值则,key一定在中间值左方,所以hi=mid-1。反之,key>mid,则key一定在中间值右方,则lo=mid+1,如果找到key=中间值则搜索完毕。如果lo>hi则说明没有查找到。则放回-1;该算法

2016-02-29 20:35:55 548

空空如也

空空如也

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

TA关注的人

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