首页 > 代码库 > 2014华为校招机考模拟--求最大递增数
2014华为校招机考模拟--求最大递增数
描述: | 输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。 |
运行时间限制: | 无限制 |
内存限制: | 无限制 |
输入: | 输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况 |
输出: | 输出最大递增数 |
样例输入: | 123526897215 |
样例输出: | 2689 |
答案提示: |
|
一道基础的动态规划算法题,采用C++实现。代码如下:
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 char num[50]; 6 int currentValue=http://www.mamicode.com/0; 7 int maxValue=http://www.mamicode.com/0; 8 while (cin>>num) 9 {10 int i=0;11 for (i=0;num[i];i++)12 {13 currentValue=http://www.mamicode.com/currentValue*10+num[i]-‘0‘;14 if(num[i]>=num[i+1])15 {16 if(currentValue>maxValue)17 maxValue=http://www.mamicode.com/currentValue;18 currentValue=http://www.mamicode.com/0;19 }20 }21 cout<<maxValue<<endl;22 maxValue=http://www.mamicode.com/0;23 }24 return 0;25 }
运行结果:
2014华为校招机考模拟--求最大递增数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。