求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
package algorithm;
import java.util.Scanner;
/**
* 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
* @author Administrator
*
*/
public class MaxIncreasingString {
public static void main(String[]args)
{
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
findMaxIncreasingString(s);
}
public static void findMaxIncreasingString(String str)
{
int begin=0;
int end=0;
int maxLength=0;
int tempLength=0;
for(int i=0,j=0;j<str.length();j++)
{
char c=str.charAt(j);
if(isDigit(c))
{
if(c-str.charAt(j-1)==1)
{
tempLength+=1;
if(tempLength>maxLength)
{
maxLength=tempLength;
begin=i;
end=j;
}
}else{
tempLength=0;
i=j;
}
}
}
System.out.println("the max increasing string of str is:"+str.substring(begin,end+1));
}
public static boolean isDigit(char c)
{
return c>='0'&&c<='9';
}
}