07 2014 档案

摘要:一、派生类 不能通过 基类对象 访问 基类的protected成员派生类 不能通过 基类对象 访问 基类的protected成员,如果能,不就成了public了吗?所以“不仅派生类不能通过基类对象访问其protected成员,其他类也不能通过基类对象访问基类的protected成员”。补充几句:派生... 阅读全文
posted @ 2014-07-22 21:56 StevenSuo 阅读(1479) 评论(0) 推荐(0)
摘要:cin.clear()、cin.sync() cin.clear()是用来更改cin的状态标示符的。 cin.sync()是用来清除缓存区的数据流的。如果标示符没有改变那么即使清除了数据流也无法输入。所以两个要联合起来使用。例如:#includeusing namespace std;int m... 阅读全文
posted @ 2014-07-22 21:39 StevenSuo 阅读(304) 评论(0) 推荐(0)
摘要:l 问题描述给定N*N字母矩阵,从任意点出发,上,下,左,右移动,在规定方向连续匹配给定的单词序列。即称为命中,否则不命中,字符矩阵中的字母仅能使用一次,不能在同一单元格停留两次。字符矩阵最大50*50,都为大写字母。输入1为字母矩阵,输入2为字母序列,输出是否匹配。要求实现函数int FindSt... 阅读全文
posted @ 2014-07-22 21:33 StevenSuo 阅读(228) 评论(0) 推荐(0)
摘要:题目:给出一个表达式,如1*2+8*9-(3+1+5),计算表达式的结果。思路:考查关于逆波兰式的用法,具体可看《大话数据结构》。代码如下:/* 1.中缀转后缀 2.后缀进行求值*/#include#include #include #include #include #include#defin... 阅读全文
posted @ 2014-07-22 21:29 StevenSuo 阅读(226) 评论(0) 推荐(0)
摘要:类中添加static成员的目的:为了解决数据共享问题。当然全局对象也可以实现数据共享,但相比,static有以下两个优点:(1)封装性:static成员可以是私有成员,而全局对象是全局的,一般用户代码就可以修改这个值。(2)避免命名冲突:static成员的名字是在类的作用域中,因此可以避免与其他类的... 阅读全文
posted @ 2014-07-18 10:14 StevenSuo 阅读(688) 评论(0) 推荐(0)
摘要:判断给定数是否满足给定条件要求题目描述:1、条件是一个字符串,其格式由数学上的“开闭区间”,"&&"和"||"组成。其格式为:[5,7]&&(6,9]||(10,20),该条件表示“大于等于5,小于等于7”并且“大于6,小于9”或者“大于10,小于20”。2、&&优先级高于||。输入:1、字符串1:... 阅读全文
posted @ 2014-07-17 11:17 StevenSuo 阅读(282) 评论(0) 推荐(0)
摘要:笨笨熊搬家打包篇描述:森林里的笨笨熊今天可开心啦——他买了新房子,乔迁新喜要搬家了。因此,笨笨熊请了许多好朋友来帮忙搬家,并准备了很多小纸盒用来装需要搬的物品,不过,这些纸盒的容积都是相同的,并且最多只能装两个物品。但是,为了不打扰太多的朋友,笨笨熊想了个“聪明”办法:让每个纸盒使用效率最高(注:只... 阅读全文
posted @ 2014-07-16 20:17 StevenSuo 阅读(602) 评论(0) 推荐(0)
摘要:题目: 和尚挑水某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表:和尚1: 星期二,四;和尚2: 星期一,六;和尚3: 星期三,日;和尚4: 星期五;和尚5: 星期一,四,六;和尚6: 星期二,五;和尚7: 星期三,六,日;请将所有合理的挑水时间安排表。思路:使用回溯法,... 阅读全文
posted @ 2014-07-16 17:07 StevenSuo 阅读(281) 评论(0) 推荐(0)
摘要:问题:8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。思路:回溯法是一种试错方法:1.先选一个位置试着放置一下,并做“记录”;2.在每次子问题中进行判定时需要过去的“记录”作为是否可以继续尝试的依据;3.最后很关键,需要在每次判... 阅读全文
posted @ 2014-07-16 16:54 StevenSuo 阅读(240) 评论(0) 推荐(0)
摘要:由于矩阵的乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这中计算次序可以用加括号的方式来确定。例如,矩阵连乘积A1A2A3A4可以有5种不同的完全加括号方式: (A1(A2(A3A4))) (A1((A2A3)A4)) ((A1A2)(A3A4)) ((A1(A2A3))A4)... 阅读全文
posted @ 2014-07-15 17:44 StevenSuo 阅读(1043) 评论(0) 推荐(0)
摘要:#include#includeusing namespace std;int m;int max(int,int);void dqta(int **data,int **d);//寻找最优值void fpath(int **data,int **d,int *path);//寻找最优路径int m... 阅读全文
posted @ 2014-07-15 17:38 StevenSuo 阅读(515) 评论(0) 推荐(0)
摘要:/*=========程序信息========对应题目:01背包之金矿模型使用语言:c++使用编译器:Visual Studio 2005.NET使用算法:动态规划算法运行时间:O(people * n) [people是人数,n是金矿数]作者:贵州大学05级 刘永辉 昵称:SDJL编写时间:200... 阅读全文
posted @ 2014-07-15 17:37 StevenSuo 阅读(151) 评论(0) 推荐(0)
摘要:题:给定两个字符串X,Y,求二者最长的公共子串,例如X=[aaaba],Y=[abaa]。二者的最长公共子串为[aba],长度为3。1 基本算法其实对于最长公共子串,还是比较简单易想的,因为子串是连续的,这就方便了很多。最直接的方法就是用X每个子串与Y的每个子串做对比,求出最长的公共子串。2 DP方... 阅读全文
posted @ 2014-07-10 17:36 StevenSuo 阅读(351) 评论(0) 推荐(0)
摘要:一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列。最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的。例如序列X=ABCBDAB,Y=BDCABA。序列BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,子序列BCBA是X和Y... 阅读全文
posted @ 2014-07-10 17:34 StevenSuo 阅读(209) 评论(0) 推荐(0)
摘要:知识点:1. sort 使用时得注明:using namespace std; 或直接打 std::sort() 还得加上 #include 2. qort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数,只要注明 使用的库函数就可以使... 阅读全文
posted @ 2014-07-10 17:28 StevenSuo 阅读(452) 评论(0) 推荐(0)
摘要:题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6,-7中,最长递增子序列长度为4,可以是1,2,4,6,也可以是-1,2,4,6。从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列),要么就是第i-1个元素之前的最长... 阅读全文
posted @ 2014-07-10 17:23 StevenSuo 阅读(173) 评论(0) 推荐(0)
摘要:预备知识: 1. sort 使用时得注明:using namespace std; 或直接打 std::sort() 还得加上 #include 2. qort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数, 只要注明 ... 阅读全文
posted @ 2014-07-10 17:08 StevenSuo 阅读(651) 评论(0) 推荐(0)
摘要:题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6,-7中,最长递增子序列长度为4,可以是1,2,4,6,也可以是-1,2,4,6。 从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列), 要么就是第i-1个元素之前的... 阅读全文
posted @ 2014-07-10 17:06 StevenSuo 阅读(144) 评论(0) 推荐(0)
摘要:对于最长不重复子串,某个当前的字符,如果它与前面的最长不重复子串中的字符没有重复, 那么就可以以它为结尾构成新的最长子串;如果有重复,且重复位置在上一个最长子串起始位置之后, 那么就与该起始位置之后的稍短的子串构成新的子串或者单独成一个新子串。 举个例子:例如字符串“abcdeab”,第二个字符a... 阅读全文
posted @ 2014-07-10 17:03 StevenSuo 阅读(192) 评论(0) 推荐(0)
摘要:求一个数组的相加和最大的连续子数组 思路: 一直累加,只要大于0,就说明当前的“和”可以继续增大, 如果小于0了,说明“之前的最大和”已经不可能继续增大了,就从新开始, result=max{result+arr[i],arr[i]};显然,若result>0,则可以继续相加,否则,就重新开始。#i... 阅读全文
posted @ 2014-07-10 17:02 StevenSuo 阅读(156) 评论(0) 推荐(0)
摘要:已知 string sentence="We were her pride of 10 she named us: Benjamin, Phoenix, the Pordigal and perspicacious pacific Suzanne.";编写程序,计算sentence中有多少个单次,并... 阅读全文
posted @ 2014-07-10 17:00 StevenSuo 阅读(341) 评论(0) 推荐(0)
摘要:求一个字符串中连续出现次数最多的子串面试宝典P237 源 基本算法描述: 例如字符串“abababc”,最多连续出现的为ab,连续出现三次。 要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。 求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的... 阅读全文
posted @ 2014-07-10 16:58 StevenSuo 阅读(224) 评论(0) 推荐(0)
摘要:1. itoaitoa是广泛应用的非标准c语言扩展函数,头文件为 #icnludechar* itoa(int value,char* string,int radix);#include#includeusing namespace std;int main(){ int i=15; char s... 阅读全文
posted @ 2014-07-10 16:56 StevenSuo 阅读(200) 评论(0) 推荐(0)
摘要:在论坛上看到过有人说字符串常量存储在只读区域,不能写只能读;而字符数组是栈上,可读可写。#include#includeint main(){ /*字符数组存储于动态内存中,可以进行赋值操作*/ char message[]={'h','e','l','l','\0'}; message[2]='a... 阅读全文
posted @ 2014-07-10 16:50 StevenSuo 阅读(1269) 评论(0) 推荐(0)
摘要:#include#includevoid getNext(int *Next,char* src){ int i,j; Next[0]=-1; i=0; j=-1; int N=strlen(src); while(i<N-1){ if(j==-1||src[i]==src[j]){ ++i;... 阅读全文
posted @ 2014-07-10 16:45 StevenSuo 阅读(245) 评论(0) 推荐(0)
摘要:有两种方法可以读C++字符串:使用提取操作符(>>)和getline函数。(1)字符串提取操作符: 首先,它跳过前导空白字符,然后提取所有邻近的非空白字符。当发现空白字符时, 它就停下来。终止空白字符被留在输入流中. 提取操作符可以用来从键盘(cin流)或者使用开放式文件流从文件读数据。例如,要把一... 阅读全文
posted @ 2014-07-10 16:43 StevenSuo 阅读(523) 评论(0) 推荐(0)
摘要:问题:读取一个文件(含标点),统计长度小于4的单词个数,并按长度顺序输出,重复单词只输出一次。 考查:去除字符串标点 + 泛型算法使用 思路:1.获取每个单词,存入到vector中去——考查:去除字符串标点 2.剔除重复单词,——考查:泛型算法使用一、去除标点符号 1.读取一个含有标点符号的文... 阅读全文
posted @ 2014-07-10 16:40 StevenSuo 阅读(1885) 评论(0) 推荐(0)
摘要:http://www.ahathinking.com/archives/tag/%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97对于最长不重复子串,某个当前的字符,如果它与前面的最长不重复子串中的字符没有重复,那么就可以以... 阅读全文
posted @ 2014-07-10 15:46 StevenSuo 阅读(282) 评论(0) 推荐(0)
摘要:http://www.ahathinking.com/archives/tag/%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97求一个数组的相加和最大的连续子数组思路:一直累加,只要大于0,就说明当前的“和”可以继续增大,... 阅读全文
posted @ 2014-07-10 15:46 StevenSuo 阅读(201) 评论(0) 推荐(0)
摘要:求一个字符串中连续出现次数最多的子串 http://blog.csdn.net/ysu108/article/details/7795479讲解 http://blog.csdn.net/imcdragon/article/details/6838565代码 面试宝典P237 源基本算法描述:例如... 阅读全文
posted @ 2014-07-10 15:39 StevenSuo 阅读(391) 评论(0) 推荐(0)
摘要:问题:已知 string sentence="We were her pride of 10 she named us: Benjamin, Phoenix, the Pordigal and perspicacious pacific Suzanne.";要求:计算sentence中有多少个单次,... 阅读全文
posted @ 2014-07-10 15:35 StevenSuo 阅读(213) 评论(0) 推荐(0)
摘要:1. itoa,非标准的C语言扩展函数,头文件为 #includechar* itoa (int value, char* string, int radix);#include#include#includeusing namespace std;int main(){ char str[10];... 阅读全文
posted @ 2014-07-10 15:13 StevenSuo 阅读(185) 评论(0) 推荐(0)
摘要:关于原理就不讲了,只说下我对Next数组的理解,希望可以让你获得灵光一闪。其实最难的就是是j=Next[j];这么一句话,当时思考了很长时间,终于明白的时候确实很兴奋加得意。#include#includevoid getNext(int *Next,char* src){ int i,j; Nex... 阅读全文
posted @ 2014-07-10 11:43 StevenSuo 阅读(282) 评论(0) 推荐(0)
摘要:字符串常量存储在静态区域,见论坛里讨论时,有高手好像说过是存储在只读区域,不明。字符串是存储在栈上的,属于可读可写的内存。示例1:读写差异#include#includeint main(){ /*字符数组存储于动态内存中,可以进行赋值操作*/ char message[]={'h','e','l'... 阅读全文
posted @ 2014-07-10 11:27 StevenSuo 阅读(417) 评论(0) 推荐(0)
摘要:1. 题目:学习计划进度检测程序定义一个vector容器,存储你在未来六个月里要阅读的书籍,再定义一个set,用来记录你看过的书名,编写程序从vector中为你选择一本没有读过而现在要读的书。当它为你返回选中的书名时,应该讲该书名放入记录已读书目的set中。如果实际上你把这本书放在一边没有看,则本程... 阅读全文
posted @ 2014-07-10 11:10 StevenSuo 阅读(173) 评论(0) 推荐(0)
摘要:问题:读取一个文件(含标点),统计长度小于4的单词个数,并按长度顺序输出,重复单词只输出一次。考查:去除字符串标点 + 泛型算法使用思路:1.获取每个单词,存入到vector中去——考查:去除字符串标点2.剔除重复单词,——考查:泛型算法使用一、去除标点符号1.读取一个含有标点符号的文件,2.使用 ... 阅读全文
posted @ 2014-07-10 11:05 StevenSuo 阅读(278) 评论(0) 推荐(0)
摘要:预备知识: map/multimap和set容器均会对键key进行排序。1. multimap的一个键可以对应多个value,但是此value是不进行排序的。 multimap中, 针对相同的key=1,添加1,2,3,1,1,1,1后,不进行排序,输出时为:1,2,3,1,1,1,1 。#inc... 阅读全文
posted @ 2014-07-09 11:40 StevenSuo 阅读(165) 评论(0) 推荐(0)