摘要:题目描述:在字符串中找到出现相同的并且长度是最长的子串,输出该子串以及其首字符的位置。 例如mainStr="yyabcdabjcabceg",输出为"abc"和3。 分析:每次都找到最大长度的子串,然后正序和逆序查找该子串出现的位置。如果两者位置不相等,则说明两子串是相同的并且长度最长的子串,满足
阅读全文
随笔分类 - C++题库
摘要:题目描述:在字符串中找到出现相同的并且长度是最长的子串,输出该子串以及其首字符的位置。 例如mainStr="yyabcdabjcabceg",输出为"abc"和3。 分析:每次都找到最大长度的子串,然后正序和逆序查找该子串出现的位置。如果两者位置不相等,则说明两子串是相同的并且长度最长的子串,满足
阅读全文
摘要:举个例子说明一下:例如找到字符串mainStr="abcabcabcde"中连续出现次数最多的子串,可以看出"abc"出现3次,是出现次数最多的子串。对于该题可以用穷举法,一一列举每个子串连续出现的最大次数。 如下图1,对于每一个子串都从当前位置i=pos1(子串开始位置)进行遍历,其中j=pos2
阅读全文
摘要:昨晚做了某公司的笔试,遇到一道名为“三子棋”的编程题,花了近一个小时的时间去完成了这道题。最后提交时,有部分测试实例没有通过。可是已经没有时间修改了,真是悔啊!现在将原题复述如下: 这道题不算难,主要是考察面试者的逻辑思维能力,尤其是在面临压力的情况下。 刚看到这个题时,我就有了思路,但是没有将该游
阅读全文
摘要:题目来源:赛马网(Max Sum) Problem Description Input Output Sample Input Sample Output
阅读全文
摘要:题目描述: 假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些。什么方法能最快的查出所有小字符串B里的字母在大字符串A里都有? 比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPO 答案是true,
阅读全文
摘要:题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一
阅读全文
摘要:题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。 。n保证是int范围内的一个整数。 输出: 对应每个测试案例, 输出一个整数,代表输入的那个
阅读全文
摘要:基本概念 格雷码是一种准权码,具有一种反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。 自然二进制码可以直接由数/模转换器转换成模拟信号,但是在某些情况下,例如从十进制的3转换
阅读全文
摘要:题目描述: 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。根据这个规则,无需循环较量,或许就
阅读全文
摘要:试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前
阅读全文
摘要:简单描述 0-1背包问题描述如下: 有一个容量为V的背包,和一些物品。这些物品分别有两个属性,体积w和价值v,每种物品只有一个。要求用这个背包装下价值尽可能多的物品,求该最大价值,背包可以不被装满。因为最优解中,每个物品都有两种可能的情况,即在背包中或者不存在(背 包中有0个该物品或者 1个),所以
阅读全文
摘要:问题 有一堆柑橘,重量为 0 到 2000,总重量不大于 2000。要求我们从中取出两堆放在扁担的两头且两头的重量相等,问符合条件的每堆重量最大为多少。没有符合条件的分堆方式则输出-1。 测试用例 输出 分析 假设dp[i][j]表示前i个橘子被选择后,第一堆比第二堆重j时,两堆的最大总重量和。由此
阅读全文
摘要:问题: 给定一个序列a1,a2..........an;求子序列的和最大问题dp[i]表示以ai结尾的子序列和,max为最大子序列的和。
阅读全文
摘要:最长公共子串和最长公共子序列在状态转移方程有些类似的地方,不同的是长公共子串要求必须在原串中是连续的,所以一但某处出现不匹配的情况,此处的值就重置为0。 下面给出最长公共子串的状态转移方程: 不多说上代码 实现了打印最长公共子串的功能,很简单!
阅读全文
摘要:最长公共子序列也是动态规划中的一个经典问题。 有两个字符串 S1 和 S2,求一个最长公共子串,即求字符串 S3,它同时为 S1 和 S2 的子串,且要求它的长度最长,并确定这个长度。这个问题被我们称为最长公共子序列问题。 与求最长递增子序列一样,我们首先将原问题分割成一些子问题,我们用 dp[i]
阅读全文
摘要:最长递增子序列是动态规划中经典的问题,详细如下: 在一个已知的序列{a1,a2,...,an}中,取出若干数组组成新的序列{ai1,ai2,...,aim},其中下标i1,i2,...,im保持递增,即新数列中的各个数之间依旧保持原数列中的先后顺序,那么我们称新的序列{ai1,ai2,...,aim
阅读全文
摘要:#include #include using namespace std; char data1[1001]; char data2[1001]; char sumData[1002]; void main(void) { while (cin >> data1 >> data2) { int len1 = strlen(data1); ...
阅读全文
摘要:对于一棵二叉树而言,可以由其前序和中序或者中序和后序的遍历序列,确定一棵二叉树。 那么对于已知前序和中序序列,求后序序列也就是先还原二叉树,然后对其进行后序遍历即可。 二叉树结点的结构定义如下: 实现代码如下:
阅读全文
|