自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 渲染/美术概念笔记

笔记

2021-12-15 17:38:56 2607

原创 美术概念笔记

概念性笔记

2021-12-15 17:33:58 175

原创 分苹果问题

题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入每个用例包含二个整数M和N。0样例输入7 3样例输出8 假设一个篮子为空,那么就成了m个苹果装到n-1个篮子中,(m,n-1)。   

2016-09-22 23:33:35 1036

原创 报数_动态规划

某大学开学进行军训队列训练,将学生从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列剩下的依次向前靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的依次向前靠拢,继续从头开始进行一至二报数。。。以后每次从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。输入第一行为组数N,接着为N行

2016-09-18 16:32:52 1242

原创 买苹果_网易编程

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1

2016-09-15 17:33:21 1222

原创 跳石板_网易编程

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M = 24:4->6-

2016-09-14 14:13:32 2998

原创 构造回文数操作_网易编程

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之

2016-09-14 12:52:15 1871

原创 统计住宅_百度笔试

题目:有一片区域统计住宅数量,用nxm的矩阵表示,其中0表示空地,1表示住宅。有一条原则,如果1和1是上下或左右相邻,那么就看做是一套住宅,对角相邻不算。比如:1 0 0 00 1 0 00 1 1 00 0 0 0  结果为2。思路:用区域生长的方式来做,类似于病毒的感染,感染的规则就是相邻的元素。每个元素遍历后,如果是1那么就住宅数量+1,并将其置为

2016-09-14 00:24:25 661 1

原创 洗牌

洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并

2016-09-03 14:20:25 365

原创 数字序列中的最大差和最小差对数

题目:小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?例如:输入6  45 32 45 16 6 5  输出1  2思路1. 最大差一定是,最大数和最小数之差,所以在排序后对最大数和最小数的数量进行统计即可,特别的情况:当最大和最小一样时,那么有(n-1)n/2对;2. 最小差一定是相邻两数之差,分为

2016-09-02 23:07:55 10618

原创 大写字符移位_腾讯实习编程题

题目:小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述:对于每组数据,输出移位后的字符串。输入例子:AkleBiCeilD输出例

2016-09-02 21:41:22 2741 4

原创 构造回文_腾讯实习生编程题

题目:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle

2016-09-02 16:35:22 488

原创 ARtoolkit学习一:Paddle交互代码理解和改写

实习中项目要编写一个ARtoolkit实现交互的Demo给客户,在ARtoolkit中没有vuforia中集成的virtualbutton来直接实现,所以手动编写,查找ARtoolkit的原官方网站后,查到了一篇介绍交互的文章

2016-04-29 10:53:58 2577

原创 ARUint8

http://www.hitl.washington.edu/artoolkit/mail-archive/message-thread-00759-structure-of-ARUint8.htmlhttp://stackoverflow.com/questions/23666247/artoolkit-using-a-still-image

2016-04-26 23:41:04 467

原创 error C4996: 'sprintf': This function or variable may be unsafe 解决方法

在vs2013环境下编译别人写的C程序代码,在遇到输入输出时或字符串,会遇到一些错误。如下面一段代码 sprintf(imageNumberText, "image-%04d.jpg", imageNumber++);编译后,系统报错:错误 1error C4996: 'sprintf': This function or variable may be unsafe. Consi

2016-04-22 16:51:00 23124 4

原创 vector中的元素删除

在vector中用迭代器删除元素会用到erase()函数。这个函数返回的是删除当前元素后下一个元素的指针,也就是说在删除元素后,指针指向删除元素后面的那个,具体用法参考下面代码。vector::iterator itIn = inliers.begin(); vector::iterator itM = matches.begin(); for (itIn = inliers.begin

2016-04-06 15:50:01 639

原创 腾讯后台面试代码5题

室友去TIT面试后台开发,现场先写五道代码题,题目如下,都不是难,但有些要求还是比较难达到,都有思路,有空全敲了。1. 一个数组,是乱序的,如何找到其中的最小值,最小值很有可能在中间,二分法可以么?2. A=1,B=2,C=3.....Z=26,AA=27,AB=28,写个转换程序。实际就是26进制。3. 在二叉排序树中找到第三大的树,不能把二叉树放到一个字

2016-03-24 01:03:52 753

原创 C++一些数字的求法

1. 如何分解质因数,将一个数字的所有质因数都排列出来,如180,2 2 3 3 5void pailieyinshu(long num)//将一个long的整数,分解成所有的质因数排列{ int i = 0; int k = 0; for (i = 2; i <= num; i++) { if ( num%i == 0) { num = num / i; cou

2016-03-16 22:35:09 376

原创 两个有序数组相融合

#includeusing namespace std;//两个有序数组进行排序,A有足够的空间容纳B,把和A融入到一起void MergeArr(int a[], int b[], int la, int lb)//输入A和B的数组和两个长度{ if (la <= 0 || lb <= 0) return; int index=la+lb-1; int ida = la

2016-03-15 15:32:49 378

原创 C++模板

模板就是把类型也作为参数。假设有一个函数如下。int max(int a, int b){ return (a > b) ? a; b; }char max(char a, char b){ return (a > b) ? a; b; }两个函数逻辑结构完全一样,就是数据结构不一样,要实现只编写一个函数就完成所有这些函数,要用到模板。关键字:template typename

2016-03-15 13:51:50 297

原创 C++静态

C++中的静态,两个概念静态数据成员和静态成员函数。静态数据成员依赖于类,而不依赖于对象,也就是说即使不实例化对象,但作为一个静态数据成员,在内存中也存在,普通的数据成员不实例化就不存在。如以下例子class Tank{public: Tank(){ s_iCount++; }//产生新坦克,则坦克数增多 ~Tank(){ s_iCount--; } static int getCo

2016-03-14 15:40:54 273

原创 C++友元函数和类

一般函数分为全局函数,和类中的成员函数,相对,有友元全局函数和友元成员函数。下面就是一个在类中的友元函数,一定要传入当前类的一个对象或引用或者本身,就是能访问到私有或保护成员。class Coordinate{ friend void printXY(Coordinate &c);public: Coordinate(int x, int y);private: int m_

2016-03-14 15:12:17 273

原创 C/C++中字符串问题汇总

C/C++中的字符串一般末尾都有默认的”0\“,所以一般都是n+1个开销,容易造成越界。 char str[10]; strcpy(str, "0123456789");//报错,因为str至少要11才能复制运行下面的程序,结果是什么? char str1[] = "hello"; char str2[] = "hello"; if (str1 == str2) cout

2016-03-12 22:15:00 803

原创 高效的斐波那契数列实现

一般斐波那契数列在教科书中都是以递归的形式登场的,所以一般有常规思维是用递归解决。long long Fibonacci(unsigned int n)//递归实现{ if (n <= 0) return 0; if (1 == n) return 1; return Fibonacci(n - 1, n - 2);}但递归的效率实际是很低的,在计算数列中,有大量

2016-03-12 14:17:56 1219

原创 C++两个有序数组合并

源自剑指offer中的思考题,有序数组A、B,A有足够空间容纳B,将A,B按顺序排列。思路:也是用两个指针从尾部开始进行依次比较,较大的放在新数组的后边,然后指针依次转移。1. la,lb分别指向A和B的尾部,index指向融合数组的尾部2.然后比较,大的放在index出,index向前移动一位,然后大的la或者lb向前移动一位#includeusing names

2016-03-11 18:35:10 9420 2

原创 二维有序数组中查找

假设有一个二维数组,用右边大于左边的元素,下边大于上边的元素来储存,那么如何能快速查到目标值key。算法原则如下:从右上角的数开始,因为右上角的数,大于左边的所有数字,小于下边的所有数字。执行下面三个操作:1. 若与查找的一样,则找到;2. 若大于查找的数字,则整个列都可以排除;3. 若小于查找的数,那么整个行都可以排除。代码如下:bool FindK(in

2016-03-11 16:01:12 428

转载 C指针的一些注意点

指针离储存的就是内存的一块地址。指针的内容分为指针的类型,指针所指向的类型,指针的值,指针所指向的内存区。1. 指针的类型指的是指针本身所具有的类型,去掉字符就是了。int *ptr; //指针的类型是int * char *ptr; //指针的类型是char * int **ptr; //指针的类型是 int ** int (*ptr)[3]; //指针的类型是 int(

2016-03-11 13:17:05 248

原创 二分法查找的C++实现

二分法查找,简单来说就是每次去一个有序数列的中间数,然后和目标值比对,如果不是的话,大的就在中间值的右边查找,小的话就在中间值的左边查找。是最初级的算法,用C++实现。#include using namespace std;int SearchK(int *Arr,int low,int high,int k)//在有序数列中返回t的序号p是数列的起点,q是终点{ i

2016-03-10 15:45:35 18507 3

原创 const与sizeof

Q: const的用途在C中,const的用法有定义常量,修饰函数参数,修饰函数返回值。在C++中,const还可以修饰函数的定义体,定义类中某个成员函数为恒态函数,即不改变类中的数据成员。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。Q: const和#define都能定义常量,但用const优点更多。(1)const常量有数据类型,宏常量没有数据

2016-03-09 23:40:36 1178

原创 C++的异常处理

异常就是程序运行期出现的错误,一般是不期望的,异常处理就是对预期的错误进行预见性的安排。常用的有两个关键字:try 尝试运行正确的逻辑... catch 捕获异常... throw 抛出异常主逻辑放在try块里,异常处理逻辑放在catch里。就是主逻辑和异常处理进行分离。char getChar(const string& aStr, const int aIndex){

2016-03-09 21:30:37 199

原创 C++多态

多态,简单来说,就是当发出一条命令时,不同的对象接收到同样的命令时,所做出的动作是不同的,成为多态。是面向对象的三大特征之一:封装,多态和继承。教科书定义:指相同对象收到不同消息或不同对象收到相同消息时产生不同的动作。实际就是静态多态和动态多态。静态多态,也叫作早绑定,如下代码,两个一样函数名,但是参数不同,在调用时,程序会根据传参数不同调用不同函数。因为程序很早就把这种情况编译进去,这种

2016-03-09 20:59:32 285

原创 C++继承

在定义对象时,可以发现很多对象都是有联系的,如以下的两个类,worker中的一些成员也是person的成员,应对这种情况,减轻程序员的工作量,C++设计了继承。class Person{public: void eat(); string m_strName; int m_iAge;};class Worker{public: void eat(); void work

2016-03-09 01:35:48 392

原创 C++封装学习(二)

对象数组的实例。class Coordinate{public: int m_iX; int m_iY;};int main(){ Coordinate coord[3];//栈中实例化 coord[1].m_iX = 10; Coordinate *p = new Coordinate[3];//堆中实例化 p[0].m_iY = 20; p->m_iY = 20

2016-03-07 22:08:47 334

原创 二叉树的C++指针实现

二叉树的C++用指针实现,均有递归算法实现,能够实现以下功能。1. 输入数字建立一个二叉树,输入-1表示为空节点。2.前中后序遍历(中左右,左中右,左右中)。3.计算二叉树节点的数量。4.计算二叉树的深度。5.二叉树插入数据,可以用作排序,小的放在节点左边,大的放在节点右边。#includeusing namespace std;//二叉树的指针实现struct

2016-03-07 21:12:33 582

原创 实习季C++基本问题汇总

又到了校招实习季的到来,看了好多人的经验才发现平时用的C++好像都白用了,总结一些问题,这半个月把坑都要填上。1. C++中虚函数的作用?2.C中的struct和C++中class的异同?3.快速排序的思想。4.C++多态的概念?

2016-03-07 01:49:40 576

原创 C++中的string

在C语言中,char的用处很多单操作繁琐,大多数以函数形式操作。C++中,增加了string类型。#include#includeusing namespace std; int main(){ string name = "xiaoming"; string hobby("basketball"); cout << name << " " << hobby << endl

2016-03-05 18:49:22 341

原创 C++封装学习(一)

类的基本知识已经学过了,但是对类的理解还不够深刻,下面摘一些C++远征中的讲解。类的实例化有两种,一种是从栈中,一种是从堆中。我们定义一个TV类。 class TV { public: char name[20]; int type; void changeVol(); void power(); };从栈中实例化对象。系统会自动回收内存。 TV t

2016-03-05 18:28:24 309

原创 C++学习之引用特性

引用即给变量赋予一个别名,就像外号一样,我叫李晓明,外号小明,实际都是指李晓明这个人。#includeusing namespace std;int main(){ //C++中的引用 int a = 3; int &b = a;//引用要初始化 b = 10; cout << a << endl; system("pause");//暂停程序 return 0;

2016-03-05 17:56:59 776

原创 C++内存管理

首先有几点综述:1. 内存的本质是资源2. 操作系统在掌管内存3. 程序员能做的就是对内存进行申请和归还申请和释放内存分别用到运算符:new(申请)和delete(释放)。申请的方法://申请一个内存int *p=new int;//申请内存delete p;//释放内存申请块内存的方法://申请和释放块内存int *arr=new int[10]

2016-03-04 22:23:38 260

原创 c++操作符

a>>x,a向右移动x位,即将a转化为16进制。~,取反操作

2016-03-04 18:24:04 294

ARtoolkitPaddleInteraction源码

ARtoolkit2.72.1中examples中的ARtoolkit源码

2016-04-29

改进型Bernsen算法基于openCV的实现

根据Ying Wen,Yue Lu,Jingqi Yan,Zhenyu Zhou,Karen M.von Deneen an Pengfei Shi,An Algorithm For License Plate Recognition Applied to Intelligent Transportation System,IEEE transactions on intelligent transportation systems,vol.12.No.3.September 2011在openCV上的实现,对光照不均的情况有很好的处理效果

2013-09-11

空空如也

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

TA关注的人

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