设为首页 加入收藏

TOP

[华为机试题]最大连续递增子串
2014-11-24 01:01:11 来源: 作者: 【 】 浏览:2
Tags:华为 试题 最大 连续 递增

[华为机试题]最大连续递增子串


#include
#include
#include
using namespace std;
int main()
{
string s;
string::size_type length(0);
cin>>s;
string::size_type num = s.size();
vector ss, ss1;
ss.clear();
ss1.clear();



for (string::size_type i = 0; i != num-1; i++)
{
if (s.at(i+1) > s.at(i))
{
if (i == num - 2)
{
cout< return 0;
}
}
else
break;
}

/*for (string::size_type i = 0; i != num - 1; i++)
{
if (s.at(0) == s.at(i))
{
if (i == num -2)
{
cout<<(s.at(0));
return 0;
}
}
else
break;
}*/



for (string::size_type i = 0; i != num-1; i++)
{

if (s.at(i+1) > s.at(i))
{
if (ss.empty())
{
ss.push_back(s.at(i));
}
ss.push_back(s.at(i+1));


}
else
{
if (ss.size() > length)
{
length = ss.size();
ss1 = ss;
}
else if (ss.size() == length)
{
if (ss > ss1)
{
ss1 = ss;
}
}
ss.clear();


}
if (i == num -2)
{
if (ss.size() > length)
{
length = ss.size();
ss1 = ss;
}
else if (ss.size() == length)
{
if (ss > ss1)
{
ss1 = ss;
}
}
}




}
for (vector::iterator iter =ss1.begin() ; iter != ss1.end(); iter++)
{
cout<<(*iter);
}

return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Log4j:ERROR问题解决 下一篇【shell脚本学习】shift命令学习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: