zoukankan      html  css  js  c++  java
  • (Java实现) 洛谷 P1106 删数问题

    题目描述
    键盘输入一个高精度的正整数NN(不超过250250位) ,去掉其中任意kk个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的NN和kk,寻找一种方案使得剩下的数字组成的新数最小。

    输入输出格式
    输入格式:
    nn (高精度的正整数)

    kk(需要删除的数字个数)

    输出格式:
    最后剩下的最小数。

    输入输出样例
    输入样例#1:
    175438
    4
    输出样例#1:
    13

    import java.util.Scanner;
    
    
    public class shanshuwenti {
    	 public static int Delete(String a,int k)
    	    {
    	        StringBuffer sb=new StringBuffer(a+"");//把a转化为字符串
    	        int i=0,j=0;
    	        for(i=0;i<k;i++)
    	        {
    	            /*
    	            * 若各位数字递增,则删除最后一个数否则删除第一个减区间的数*/
    	            for(j=0;j<sb.length()-1&&sb.charAt(j)<=sb.charAt(j+1);j++)
    	            {
    	            }
    	            sb.delete(j,j+1);
    	        }
    	        return sb.length()==0?0:Integer.parseInt(sb.toString());
    	    }
    	 
    	    public static void main(String[] args)
    	    {
    	            Scanner in=new Scanner(System.in);
    	            String a=in.next();
    	            int b=in.nextInt();
    	            if(b<=0)
    	                System.exit(0);
    	            System.out.println(Delete(a,b));
    	    }
    
    
    }
    
    
  • 相关阅读:
    Oracle删除用户和表空间
    PLSQL配置教程
    Oracle 11g client 安装
    oracle 11g 安装
    oracle创建用户空间、导出、导入dmp备份文件方法
    c#关键字
    c#运算符重载
    每天一个Linux命令之date
    linux之2>&1
    每天一个Linux命令之crontab
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13079176.html
Copyright © 2011-2022 走看看