搜狐2017秋招研发工程师编程题求解
[编程题] 保留最大的数
#搜狐#
时间限制:1秒
空间限制:32768K
给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。
输入描述:
输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 1000。第二行是希望去掉的数字数量cnt 1 ≤ cnt < length(number)。
输出描述:
输出保留下来的结果。
输入例子1:
325 1
输出例子1:
35
import java.util.*;
public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ StringBuffer number= new StringBuffer(); number.append(in.next()); int n=in.nextInt(); while(n>0){ number.deleteCharAt(min(number)); n--; } System.out.println(number); } } //求数组中最小值的位置k public static int min(StringBuffer n){ int[] num=new int[n.length()]; String[] n1=n.toString().split(""); for(int i=0;i<n.length();i++){ num[i]=Integer.parseInt(n1[i]); } int m=num[0]; int k=0; for(int i=0;i<num.length;i++){ if(m>num[i]){ m=num[i]; k=i; } } return k; } }
本地输出:35
#搜狐#