华为2014机试样题及代码(3)
题目:
输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。
输入:123526897215 输出:2689
自己编写的代码,输入到系统中,发现5个测试用例只过了3个,这还是第一题啊,桑不起,求指正哪里有问题啊~~~
package vivi.njupt.edu.cn;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args){
String s = null;
BufferedReader br;
br = new BufferedReader(new InputStreamReader(System.in));
try {
s = br.readLine();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
int len[] = new int[s.length()];
for(int i=0;i<s.length();i++){
len[i] = 1;
}
for(int i=0;i<s.length();i++){
for(int j=i;j<s.length()-1;j++){
if(s.charAt(j)<s.charAt(j+1)){
len[i]++;
continue;
}else{
break;
}
}
}
int max = 1;
int start = 0;
for(int i=0;i<s.length();i++){
if(len[i]>=max){
max=len[i];
start = i;
}
}
for(int i=start;i<start+max;i++){
System.out.print(s.charAt(i));
}
}
}