字符串中找出连续最长的数字串

 

题目:

字符串中找出连续最长的数字串_第1张图片

分析:

方法(1):动态规划。只考虑对角线上的数据,因为对角线构成整个字符串

#include 
#include 
using namespace std;


int main()
{
	string s;
	while (getline(cin,s))
	{
		int len = s.size();
		vector> vv;
		vv.resize(len);
		for (int i = 0; i max)//每次看是否需要更新max
				{
					max = vv[i][j];
					index = i - max + 1;//记录当前数字串的起始下标
				}
			}
		}
        //截取最长的字符串
		string ret = s.substr(index, max);
		cout << ret << endl;
	}
	return 0;
}

方法(2):直接遍历保存最长的数字串,每找到连续的数字串要进行判断与更新

int main()
{
string s;
getline(cin, s);

int i = 0;
int max = 0;
string ret;
while (imax)
	{
		max = count;
		ret = s.substr(start, count);
	}
	i++;//不是数字直接进行判断下一个字符
}
cout << ret << endl;
return 0;
}

 

你可能感兴趣的:(再练习)