- 博客(57)
- 资源 (17)
- 收藏
- 关注
转载 matlab的基本用法
读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如 >> f = imread('chestxray.jpg'); 读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图: >> f = rgb2gray(f); 然后可以用size函数看图像的大小
2013-01-16 13:58:50
14536
原创 vs2010+openCV2.4.3搭建&GSL+vs2010搭建
一、下载并安装opencv下载链接:http://opencv.org/downloads.html,然后解压到指定路径,我的是D:\Program Files\opencv。二、配置环境变量(这一步是不是必须的呢?)计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加 “D:\Program
2012-12-03 13:10:49
4702
原创 最长等差数列
题目:求随机数构成的数组中找到长度大于=3的最长的等差数列,输出等差数列由小到大:,如果没有符合条件的就输出[0,0]格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]要求时间复杂度,空间复杂度尽量小还没有好的思路。我觉得如果使用红黑树这些数据结构的话,本身查找的复杂度O(nlgn)也要算进去的。这里参考一下花心龟的思路:
2012-11-29 09:51:16
1276
原创 洗牌程序
题目:给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。思路:54张牌用0-53表示,放在数组中,数组下标表示牌所在的位置。遍历数组,产生随机数,交换以随机数为下标的数和当前数组元素。复杂度为O(n)。void shuffle(int boke[]){ int i,r,t; srand((unsigned)time(NULL)); //random number seed
2012-11-27 19:21:05
661
原创 最大二维子矩阵
题:求一个矩阵中最大的二维子矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5 3 要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码参考解法:htt
2012-11-27 18:48:33
789
转载 单链表常见面试题
一、单链表结点的删除0、删除单链表p指向的那个元素,(时间和空间复杂度尽量小)二、单链表的存取1、找出单链表的倒数第K个元素,(仅允许遍历一遍链表)2、找出单链表的中间元素,(仅允许遍历一遍链表)三、单链表与环的问题3、判断单链表是否有环(6形状)?4、如何找到环的入口?5、如何知道环的长度?6、带环链表的长度是多少?四、单链表与相交、环
2012-11-25 19:05:11
1652
原创 打靶问题 一个射击运动员打靶,靶一共有10环,连开10枪打中90环的可能行有多少种?
心动网络一道编程题:一个射击运动员打靶,靶一共有10环,连开10枪打中90环的情况有多少种?需要考虑10枪的先后关系,比如9环10环同10环9环是不同的。递归起!int sum;int store[10];void Output() //打印{ for(int i=9;i>=0;i--) { cout<<store[i]<<" "; } cout
2012-11-24 16:37:02
10811
原创 大于一个数的最小回文数
如果直接对数n后面的每一个数进行判断,那复杂度有可能很大。解题思路还是从回文数的构造出发。分类讨论如下:A.该数的长度是奇数(特殊情况,只有1位的,除9外直接加1,9的话输出11),取该数的前半截(包括中间数), 1.若该数是回文数,则用前半截数值加1,之后再构造新的回文数; 2.若不是回文数,从中间往两边找到第一个不相等的数,若前面的小于后面的,则按1处理;
2012-11-23 18:46:49
5759
原创 三道笔试题
/*大众点评第一题:质因数分解,如120=2*2*2*3*5用vector保存质因数*/bool isPrime(int x){ if(x==1) return false; for(int i=2;i<=x/2;i++) { if(x%i==0) return false; } return true;}void fun(int n){ vector i
2012-10-13 21:53:06
887
原创 递归求全组合
void Print(int array[],int isPrint[],int index,int right,int sum){ if(index>right && sum) return; if(sum==0) { for(int i=0;i<=right;i++) { if(isPrint[i]==1) cout<<array[i]; } cou
2012-09-29 09:14:27
1514
原创 两个子串的和的最大值
题目:POJ 2593题意:两个子串的和的最大值,两个子串可以相邻,但是不能重叠。 状态:left[i]:表示左边前i个数的最大子段和;right[i]:表示右边后i个数的最大子段和。转移方程:result = max(left[i]+right[i+1]); i 属于[0,n-1)#include using n
2012-05-12 10:21:33
789
原创 数字串前第一小比它小的数
一个数字串,某一位前面的第一小的数。比如1 3 2 4 对应的就是0 1 1 2#include #include using namespace std;void find(int a[],int b[],int length){ memset(b,0,length); for(int i=1;i<length;i++) { if(a[i]>a[i-1]) b
2012-05-12 09:22:09
724
原创 最长不重复子串
题目描述:求最长不重复子串,如abcdefgegcsgcasse,最长不重复子串为abcdefg,长度为7#include #include using namespace std;//思路:用一个数组保存字符出现的次数。用i和j进行遍历整个字符串。//当某个字符没有出现过,次数+1;出现字符已经出现过,次数+1,找到这个字符前面出现的位置的下一个位置,设为i//并将之前的
2012-05-11 10:16:07
2482
原创 反转一个句子
题目:给定一个字符串,按单词将该字符串逆序,比如给定"This is a sentence",则输出是"sentence a is This",为了简化问题,字符串中不包含标点符号。分两步1 先按单词逆序得到"sihT si a ecnetnes"2 再整个句子逆序得到"sentence a is This"对于步骤一,关键是如何确定单词,这里以空格为单词的分界
2012-05-10 15:29:50
3805
原创 字符串中找连续最长的数字串
题目:字符串中找连续最长的数字串,并把这个串的长度返回。#include #include using namespace std;//findMaxLen abcd12345ed123ss123456789int findMaxLen(char *input, char *output){ char *in=input,*out=output; char *temp,*fi
2012-05-10 15:26:07
1562
原创 n个数找三个数,和等于c
先排序,复杂度o(nlgn),再处理。可以做到O(n2),不知道还有没有更好的方法。#include #include using namespace std;//O(n3)void help1(int a[],int length,int value){ for(int i=0;i<length-2;i++) for(int j=i+1;j<length-1;j++)
2012-05-09 22:39:47
1451
原创 删除字符串空格
#include #include using namespace std;//删除所有的空格void strTrim(char* pStr){ char *pTmp=pStr; while(*pTmp!='\0') { if(*pTmp!=' ') *pStr++=*pTmp; ++pTmp; } *pStr='\0';}//删除右边的空格void s
2012-05-08 22:43:14
883
原创 一道中兴笔试题
题目:输入两个整数n和m,从数列1,2,3...n中随意取几个数,使其和等于m,要求列出所有的组合。#include #include using namespace std;list list1;void find_factor(int sum,int n){ //递归出口 if(n<=0||sum<=0) return; //输出找到的数 if(sum==n) {
2012-05-08 21:18:52
2211
1
转载 编程之美2.14 子数组之和的最大值 扩展问题(首尾相连)
思路:问题的解可以分为两种情况:1)解没有跨过A[n-1]到A[0],即普通的求子数组和的最大值2)解跨过A[n-1]到A[0]对第二种情况,只要找到从A[0]开始和最大的一段(A[0],...,A[j])(0M_2=A[i]+...A[n-1]+A[0]+...+A[j]如果iM_2=A[0]+...+A[n-1] - 子数组和为负的最小值(数组元素全为正则返回0
2012-05-07 16:02:13
1808
转载 编程之美2.16 求数组中最长递增子序列
#include #include using namespace std;//复杂度为O(N2 + N) = O(N2)int MaxLength(int arr[], int length){ int *res = new int[length]; for (int i = 0; i<length; i++) { res[i] = 1; //初始化默认的长度 for (
2012-05-07 14:56:06
1425
1
转载 编程之美2.18 数组分割
来自《编程之美》中的一道题:有一个没有排序、元素个数为2n的正整数数组,要求:把这个数组分割为元素个数为n的两个数组,并使两个数组的和最接近。-------------------------------------------------------------------------------------------------------------------------------
2012-05-07 14:34:12
2069
转载 编程之美2.20 程序理解和时间分析
这是《编程之美》的2.20题目,给出一段C#代码,要求不用电脑,理解程序并回答问题。下面是从C#代码中改写成的C++代码:#include #include using namespace std;int main() { int rg[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,2
2012-05-07 13:16:26
4073
原创 兄弟节点
bool isbrother(string src,string des){ if(src.length()!=des.length()) return false; int i; bool flag=true; int countsrc[100]={0}; int countdes[100]={0}; for(i=0;i<src.length();i++) { count
2012-04-16 16:15:30
847
转载 微软笔试题
转自http://blog.youkuaiyun.com/zcsylj/article/details/67871701. 给定一个整形数组,数组的大小为N,数组内的数的范围为-N到N,问最好的排序时间复杂度是多少?A O(logN)B O(N)C O(NlogN)D O(N2)E 以上都不对2. MVC模式是现在开发的一种常用设计模式,请问如下可以充当MVC模式中控制
2012-04-01 23:26:32
724
转载 约瑟夫问题
问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是m%n-1) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始): k k+1 k+2 ... n-2, n-1, 0, 1, 2, ... k-2并且从k开始报0。现在我们把他们的编号
2012-02-18 21:45:54
891
1
原创 敏捷个人--阅读笔记
价值观 Scrum的核心价值观是:承诺,专注,公开,敬重和勇气。它提倡自我管理,涌现机制,可视性和评估/适应循环的根本原则。承诺 - 如何作出可交付的承诺?承诺一方面是责任心的问题,另一方面是什么?专注 - 先有坚持的习惯,再有专注的精神。要事第一,一件事情投入100%去做好,还是其它?公开 - 能力就像怀孕一样,时间久了才能看出来。Open的目的是让别人知道你知道。
2012-01-03 12:05:44
885
原创 How to read a research paper
Here are some initial guidelines for how to read a paper:Read critically : Reading a research paper must be a critical process. You should not assume that the authors are always correct. Instead, be
2011-12-21 14:34:32
1464
转载 平衡二叉查找树[AVL]
平衡二叉树的定义 (AVL—— 发明者为Adel'son-Vel'skii 和 Landis) 平衡二叉查找树,又称 AVL树。 它除了具备二叉查找树的基本特征之外,还具有一个非常重要的特点:它 的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值(平衡因子 ) 不超过1。 也就是说AVL树每个节点的平衡因子只可能是-1、0和1(左子树高度减去右子树高度)。
2011-12-18 15:03:42
10211
转载 逆序数问题
给我们一个序列, 让我们求其逆序数:如3 2 1 4逆序数为: 2+1+0+0=3 我们这样定义一个序列的逆序数: 序列a1 a2 a3 a2 ...an这个序列的逆序数C, 等于a1,a2...的逆序数的和.即 C=sum(Ci)Ci为满足ai > aj (j > i)的数的总的个数, 即Ci = sum(ai > aj) (j >i).
2011-12-15 22:33:42
1211
转载 Resume on 7th JCT-VC meeting (HEVC meeting) in Geneva
Gary Sullivan (co-chair of JCT-VC) formulated a brief resume of the meeting:1) Only one entropy coder (only CABAC)2) Specific integer transform selected (Cisco’s proposal - my own com
2011-12-13 20:53:00
984
原创 爬台阶问题
跳台阶问题:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。在这个跳楼梯的题目中,每次可以跳1个台阶或者2个台阶。我们考虑,我们是如何跳到N这个台阶的,一共有两种方式,一种是从N-1台阶跳一个台阶,另外一种是从 N-2跳2个台阶,所以:F(n) = F(n-1) + F(n-2) 并且 F(1)=1, F(2) = 2 。容易看出,
2011-12-13 20:46:07
3900
转载 《Effective C++》小结
最近在看《Efficitive C++》,这本书挺好的,第一遍可能会有点晦涩,多读几遍就可以了。下面是每一节后面的小结,留作复习。一,让自己习惯C++1,C++是一个语言联邦,包括C,Object-Oriented C++,Template C++和STL四个部分。C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。2,对于单纯常量,最好以const对象或enum替换#def
2011-12-01 15:48:10
1584
原创 ACM里的一些缩写
Received : The judge system has received your solution, usually you just need to wait a minute and your solution will be judged.Accepted (AC) : OK! Your program is correct!Presentation Error (
2011-11-29 18:38:51
1390
原创 C++堆、栈、自由存储区、全局/静态存储区和常量存储区比较
写程序的时候有时会碰到"Stack Overflow"的情况,那这个bug的庐山真面目到底是啥呢?一、内存分类1、栈区(stack)— 由编译器自动分配释放 ,在不需要的时候自动清除。存放函数参数、局部变量等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。一般一个new就要对应一个delete。注意它与数
2011-11-21 16:49:18
671
原创 快速排序的一种写法
一、快速排序的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。快速排序时基于分治模式处理的,对一个典型子数组A[p...r]排序的分治过程为三个步骤:1.分解:A[p..r]被划分为两个(可能空)的子数组A[p ..q-1]和A[q+1 ..r],使得A[p ..q-1] 2.解决:通过递归调用快速排序,对子数组A[p ..q-1]
2011-11-20 18:42:56
1303
原创 JMVC中TZSearch算法的过程
1.找到一些预测的运动矢量,包括用中值预测得来的运动矢量,还有在这个中值预测得来的运动矢量所指向的宏块的左边,上边和右上位置的宏块的运动矢量,以及(0,0)这个运动矢量。从这些运动矢量指向的点中找到具有最小匹配误差的点作为搜索起点(搜索中心)。2.在找到的搜索起点上依次用不同的步长X去执行diamond搜索,X=1,2,4,8,16,32,64当搜索范围=64时,搜索的过程如下所示。3
2011-11-18 23:07:30
2017
转载 JMVC里的宏
JMVC的代码非常难以理解,尤其是宏部分看了一篇专门讲宏的文章,就分享一下吧本文讨论的宏定义于macros.h 大部分宏的开头字母是R , 这次R的含义是 Return。比如 RERR ,就是 Return 一个错误值 ,该值定义于ERR 类中的m_nERR。 不在开头位置的字母R , 此时的含义是该宏返回的值并非错误值 ,而
2011-11-18 15:32:58
2657
转载 STL系列之三 heap 堆
二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:
2011-11-17 17:06:17
839
基于c++的RSA加密解密程序及源码
2009-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人