首页 > 编程语言 >PAT-basic-1023 组个最小数 java

PAT-basic-1023 组个最小数 java

时间:2023-02-18 21:45:22浏览次数:41  
标签:10 java 数字 1023 int 最小 ++ num basic

一、题目


给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。

现给定数字,请编写程序输出能够组成的最小的数。

输入格式:

输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。

输出格式:

在一行中输出能够组成的最小的数。

输入样例:

2 2 0 0 0 3 0 0 1 0

输出样例:

10015558

二、解析


关键在于找到最小的最高位,数组多申请一个位置,当哨兵,存放最小的最高位的值。先输出最高位,后面的升序输出就行。

三、代码


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num[] = new int[11];
        int flag = 1;
        for (int i = 0; i < 10; i++) {
            int count = input.nextInt();
            for(int j = 0; j < count; j++)
                num[i]++;
            if((i != 0) && (count != 0) && (flag == 1)){
                num[10] = i;
                flag = 0;
            }
        }
        if(num[10] > 0) {
            System.out.print(num[10]);
            num[num[10]]--;
        }
        for (int i = 0; i < 10; i++) {
            for(int j = 0; j < num[i] ; j++)
                System.out.print(i);
        }
    }
}

标签:10,java,数字,1023,int,最小,++,num,basic
From: https://www.cnblogs.com/langweixianszu/p/17133691.html

相关文章

  • PAT-basic-1021 个位数统计 java
    一、题目给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=1......
  • PAT-basic-1022 D进制的A+B java
    一、题目输入两个非负10进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出3个整数 A、B 和 D。输出格式:输出......
  • Java文章抓取
    @PostMapping("/grab")@ApiOperationSupport(order=9)@ApiOperation(value="抓取",notes="传入grabUrl")publicRgrabe(@ApiParam(value="抓取",required=true......
  • Java正则匹配域名白名单
    在上一篇文章《通用正则表达式开源工具,为开源绵尽薄力》中,我们介绍了很多正则表达式的实例,工作中大家也经常遇到新的规则需要匹配,今天就看一下检测域名白名单的几种方式......
  • JAVA多线程(二)--线程池
    JAVA多线程(二)--线程池一、线程池概念顾名思义,线程池是管理线程的池子。使用线程池有以下优点:降低线程创建和销毁的开销。提高响应速度。用到时创建和直接使用已创建......
  • Java代码工具快速生成词云图(强烈建议收藏)
    “词云”一词最早是由美国西北大学新闻学副教授、新媒体专业主任里奇戈登(RichGordon)提出的。词云(WordCloud),又称文字云、标签云(TagCloud)、关键词云(KeywordCloud),是对文本......
  • Java 只有值传递
    实参:传递给方法的参数,必须有确定的值。形参:定义方法的参数,接收实参,不需要有确定的值值传递:方法接收的是实参值的拷贝,会创建副本。引用传递:方法接收的是实参所引用的......
  • 算法刷题-计算某字符出现次数-JAVA
    0x00引言为获取一个良好的算法思维,以及不再成为一个脚本小子,争取每天一道算法题,培养自己的逻辑思维,温顾各类型语言语法知识。题解只写自己理解的解法,其他解法不再增加。......
  • Error:(3, 32) java: 无法访问org.springframework.boot.SpringApplication,错误的类文
    启动Springboot项目报错 这是Springboot的版本和Java的版本不对应导致的。 Springboot2.0以上版本最低需要java8支持;Springboot3.0以上的版本最低需要java17支持!参......
  • JAVASE小练习 (今天做一个基于javase的银行ATM小练习)
    实现的功能有1,用户登录2,用户开户(基于用户登录)3,查询账户(基于用户登录)4,存款5,取款6,转账7,修改密码(只有三次确认密码的机会)8,退出登录9,注销这个小例子可以让我们充分复习所学......