典型递归问题

原创 2016年08月31日 10:45:24

题:输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序。即输出125、126、145、146。

代码如下:

#include<iostream>
#include<string>
using namespace std;

void PrintStr(string strA,string strB,int print[],int lenP,int strAstart,int strBstart)
{
	if(lenP==strB.length())//满足条件输出
	{
		for(int i=0;i<lenP;i++)
			cout<<print[i];
		cout<<endl;
	}
	for(int i=strAstart;i<strA.length();i++)
	{
		for(int j=strBstart;j<strB.length();j++)
		{
			if(strA[i]==strB[j])
			{
				print[lenP]=i+1;
				PrintStr(strA,strB,print,lenP+1,i+1,j+1);
			}
		}
	}
}

void main()
{
	string strA="abdbcc";
	string strB="abc";
	if(strA.empty()||strB.empty())
	{
		cout<<"string error!"<<endl;
		return;
	}
	int lenA=strA.length();
	int lenB=strB.length();
	int *print=new int[lenB];
	PrintStr(strA,strB,print,0,0,0);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

典型递归问题整理

例题1:把一个数组里的数组组合全部列出,比如1和2列出来为1,2,12,21public class Test10 { public static void main(String[] args...

程序员面试宝典8.2典型递归问题

今天看书看到8.2的递归问题,

八皇后问题(典型的递归回溯)

八皇后 : 这个代码只是输出一共有多少种摆放的个数。如果想要输出他摆放的不同方法 只需要在递归出口的时候用两个for循环输出棋盘即可。 目的在于每行,每列,以及对角线上都只能放置一个皇后,所...

递归和分治思想的典型应用—汉诺塔问题

首先,讲解一下汉诺塔问题的由来:一位法国数学家曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上...

递归和分治思想的典型应用—汉诺塔问题

首先,讲解一下汉诺塔问题的由来:一位法国数学家曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上...

C语言练习 (典型递归问题)汉诺塔问题

有三根棒为A、B、C。A棒上叠放着n个大小不等的盘,依次叠加为大盘在下,小盘在下。要求把这n个盘移到C棒上,在移动过程中可以借助B棒,每次只能移一个盘,并且在移动过程中必须保持3根棒上的大盘在上,小盘...

排队购票 典型递归 java

1. 问题提出 一场球赛开始前,售票工作正在紧张的进行中。每张球票为50元,现有30个人排队等待购票,其中有20个人手持50元的钞票,另外10个人手持100元的钞票。假设开始售票时售票处没有零钱,求...

简析递归思想及其典型算法

递归:也就是在运行过程中自己调用自己 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就...

数据结构--排序之归并排序(分治 递归 合并典型案例)

归并排序的运行时间是O(NlogN) 归并排序是用于分析递归技巧的典型案例 与其他的O(NlogN)排序算法比较 比如堆排序 归并排序的运行时间严重依赖比较时间和数组和临时数组中移动元素的开销,这...

zzy 的宠物 典型的矩阵乘法 二分+递归

ZZY的宠物 Time Limit: 1000MS Description     ZZY领养了一对刚刚出生的不知名小宠物..巨萌巨可爱!!...小宠物的生命为5个单位时间并且不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:典型递归问题
举报原因:
原因补充:

(最多只允许输入30个字)