摘要:
有6种不同颜色的球,每种球有无数个。现在取5个球,求取出5、4、3、2种不同颜色球的概率分别为多少----网易游戏分类:笔试/面试题2013-06-25 11:08161人阅读评论(0)收藏举报题目:有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在以下的条件下: 1、5种不同颜色, 2、4种不同颜色的球, 3、3种不同颜色的球, 4、2种不同颜色的球, 它们的概率。问题:1、5次分别是5种不同颜色的概率,2、取5次 4种不同颜色的概率,3、取5次 3种不同颜色的概率, 4、取5次2种不同颜色的概率,解答:既然每种颜色的球都是无数的话,就相当于有6... 阅读全文
摘要:
// 编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad" // 采用后缀数组,利用归并排序当中的思想。 // class CMaxCommon:public CTest { public: static int com(const void *s1,const void *s2) { return strcmp(*(char**)s1,*(char **)s2); } int get(char *s1,char *s2,ch... 阅读全文
摘要:
我们知道:a/b 的话,可以描述为 a=q*b+r, 这里 r是一个 0=b) { d=1; while(b*d>1; a=a-b*(d-1); } return c;}方法二: 我们也可以通过二分查找。对于a/b=c ,c的范围可以在【0,a]之间,因为b是要求大于等于1的。代码如下所示:int div2(const int x,const int y) // 二分查找{ int i=0,j=x; while(i>1); // 不能用除法 if(m*y>x) { j=m-1; } else if(m*y<x) { i=m; } else { return ... 阅读全文
摘要:
1. 抽象类中抽象方法只能有方法声明,不能包含方法体。方法可以包含方法体。接口里面只有方法声明。2. 抽象类可以包含成员变量,接口却不能包含。3. 抽象类的所有成员可以添加访问修饰符,而接口不能显示的添加修饰符。4. 接口可以是多继承,而抽象类是单继承。 阅读全文
摘要:
class CManacher:public CTest { string GetManacher(const string str) { string strTmp; string result=""; int *p=new int[2*str.size()+1]; int i; strTmp+='#'; int j=1; for(i=0;i=0) { ... 阅读全文
摘要:
void randselect(int m,int n,int b[],int i){ if(m<=0) { for(int j=0;j<i;j++) cout<<setw(5)<<b[j]; cout<<endl; return; } if(n<=0) return; if(n<m) return; b[i]=n; randselect(m-1,n-1,b,i+1);// 选择n randselect(m,n-1,b,i); // 不选择n元素} 阅读全文
摘要:
#include // 标准模板库当中Vector的简化版本#includeusing namespace std;templateclass array{public: array(int size); size_t getVectorSize() { return _data.size(); } size_t getSize() { return _size; }public: vector _data; size_t _size;};templateclass Vector{ T *start,*finish,*end;public: Vector():start(0... 阅读全文
摘要:
转:C++的空类有哪些成员函数:. 缺省构造函数。. 缺省拷贝构造函数。. 缺省析构函数。. 缺省赋值运算符。. 缺省取址运算符。. 缺省取址运算符 const。 注意:有些书上只是简单的介绍了前四个函数。没有提及后面这两个函数。但后面这两个函数也是空类的默认函数。另外需要注意的是,只有当实际使用这些函数的时候,编译器才会去定义它们。//C++ 空类默认产生的类成员函数:缺省构造函数,拷贝构造函数,析构函数,赋值运算符,取址运算符,取址运算符 const#includeusing namespace std;class class1{public: class1(){}//缺省构造函数 cl. 阅读全文
摘要:
/* 主要思想: 对于任意长度的递增序列都维护一个结束的最小值,** 这里是max, maxIndex代表当前具有的最大长度,比如我们现在求LIS(i), 此时max数组里面可能存有一些长度是不存在的。我们把这些不存在的长度设置为最大值。 把0设置为最小值,对于每个元素a[i],从最长的maxIndex开始往下比较,找到第一个比max[j]大的数 j。 由于长度为j的序列=0;j--) { if(a[i]>max[j]) { lis[i]=j+1; break; } }*/ int m=0,n=maxIndex; while(ma[i]) n=m... 阅读全文
摘要:
假如我们有一个字节序列,s,长度为n.int GetBit(char *s,int n,int num){ int a=num/8; int b=num%8; if(a>=n) return -1; return (s[a]>>(7-b))&1;} 通过以上的方法,我们可以获得任意位上的bit值 阅读全文