描述: |
输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 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=0; 7 int maxValue=0; 8 while (cin>>num) 9 { 10 int i=0; 11 for (i=0;num[i];i++) 12 { 13 currentValue=currentValue*10+num[i]-‘0‘; 14 if(num[i]>=num[i+1]) 15 { 16 if(currentValue>maxValue) 17 maxValue=currentValue; 18 currentValue=0; 19 } 20 } 21 cout<<maxValue<<endl; 22 maxValue=0; 23 } 24 return 0; 25 }
运行结果:
时间: 2024-11-10 10:51:06