zoukankan      html  css  js  c++  java
  • 整数m去掉n位后剩下最大(小)值

    题目描述

    给定一个正整数(<=255位),从中删去n位后,使得剩下的数字组成的新数最小(大);

    思路:从左到右开始扫描,两两比较,如果是前一位比后一位大,则删去前大的一位,直到删完所有的n位;

             【从论坛看到的一个题目,觉得挺好的,代码是论坛的大佬写的,不过好像没处理好以0开头的问题。】

            再贴一个c写的吧,这也写得挺好的:https://blog.csdn.net/liveas/article/details/5732759

     1 public static void main(String[] args) {
     2         // TODO Auto-generated method stub
     3         int i,j,k,length,n,m;
     4         Scanner sc=new Scanner(System.in);    //warning :leak: 'sc' is never closed
     5         String s=sc.nextLine();   //输入的整型数;
     6         char c;
     7         n=sc.nextInt();
     8         int index;
     9         sc.close();
    10         if(n>s.length())     //如果删除的长度比输入的整数本身还要大就报错;
    11         {
    12             System.out.println("Error!");
    13             return;
    14         }for(i=0;i<n;i++)
    15         {
    16             j=0;        //j重新从0下标开始;
    17             while(j<s.length())
    18             {
    19                 if(j==s.length()-1)
    20                 {
    21                     s=s.substring(0, j);
    22                     break;
    23                 }
    24                 index=j+1;
    25                 c=s.charAt(index);
    26                 if(s.charAt(j)-'0'<=(c-'0'))
    27                 {
    28                     j++;
    29                     continue;
    30                 }
    31                 else
    32                 {
    33                   s=s.substring(0,j)+s.substring(index,s.length());      //把j位的字符截去;
    34                   break;
    35                 }
    38             }
    39         }
    40         System.out.println(s);
    41     }
  • 相关阅读:
    学习Python第五天
    学习Python第三天
    Mongodb
    JMS links
    笔记整理
    a* products
    String
    business knowledge
    [Java coding] leetcode notes
    [Java Basics3] XML, Unit testing
  • 原文地址:https://www.cnblogs.com/Guhongying/p/9079278.html
Copyright © 2011-2022 走看看