题目描述:给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String str=sc.next();
int n=sc.nextInt();
boolean flag=false;
while(n>0){
flag=false;
//每次从左向右找到第一个小于后面的相邻数字的数字,将其从字符串中删除;
for(int i=1;i<str.length();i++){
if(str.charAt(i)-str.charAt(i-1)>0){
str=str.substring(0,i-1)+str.substring(i,str.length());//删除了这一位的字符
flag=true;//标记这次循环中删除了
break;
}
}
if(flag==false){
//说明这次循环没有删除过元素,即各位数字都相等或者呈递减的形式
//这时删除最后一位
str=str.substring(0,str.length()-1);
}
n--;
}
for(int j=0;j<str.length();j++)
System.out.print(str.charAt(j));
System.out.println();
}
}