一、题目


给定数字 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);
}
}
}

PAT-basic-1023 组个最小数 java的更多相关文章

  1. PAT Basic 1023 组个最小数 (20 分)

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

  2. PAT乙级 1023. 组个最小数 (20)

    1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...

  3. PAT 乙级 1023.组个最小数 C++/Java

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

  4. PAT Basic 1023 组个最⼩数 (20) [贪⼼算法]

    题目 给定数字0-9各若⼲个.你可以以任意顺序排列这些数字,但必须全部使⽤.⽬标是使得最后得到的数尽可能⼩(注意0不能做⾸位).例如:给定两个0,两个1,三个5,⼀个8,我们得到的最⼩的数就是1001 ...

  5. PAT (Basic Level) Practise (中文) 1023. 组个最小数 (20)

    1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...

  6. PAT (Basic Level) Practice (中文)1023 组个最小数

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

  7. PAT 1023 组个最小数 (20)(代码+思路)

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

  8. PAT-乙级-1023. 组个最小数 (20)

    1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...

  9. PAT Basic 1023

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

  10. P 1023 组个最小数

    转跳点:

随机推荐

  1. queryWrapper 拼接日期查询

    queryWrapper.apply(" DATE_FORMAT(sign_time,'%Y-%m') = DATE_FORMAT('"+costDetailList.getSig ...

  2. @Column和@Select使用测试

    1.@Select(select * from X ) /** * goods_level 0 商品等级, */@Column(name = "goods_level")priva ...

  3. 至少有K个重复字符的最长子串

    传送门 /** * 分治 */ class Solution { // dp[i]:表示以i为结尾满足条件的子串的长度 public int longestSubstring(String s, in ...

  4. SSM框架实现附带信息的文件上传&下载

    SSM框架实现附带信息的文件上传&下载 目录 目录 SSM框架实现附带信息的文件上传&下载 目录 技术概述 技术详述 技术使用中遇到的问题和解决过程 总结 参考链接 技术概述 ​ 在进 ...

  5. MargeSort

    归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序列: ...

  6. k8s中pv和pvc

    转载: https://blog.csdn.net/echizao1839/article/details/125766826

  7. uniapp支付返回form

    在项目中,支付功能是一个常见的功能,调用支付宝时,后段给我们的是一个form的富文本内容 这时需要把form到页面渲染,方法如下: uni.request({ //仅为示例,并非真实接口地址. url ...

  8. DPU02是一个高度集成的USB转UART的桥接控制器

    DPU02是一个高度集成的USB转UART的桥接控制器,该产品提供了一个简单的解决方案,可将RS-232设计更新为USB设计,并简化PCB组件空间.该DPU02包括了一个USB 2.0全速功能控制器. ...

  9. Influxdb客户端使用

    Influxdb客户端使用 1. 简介 Influxdb在网络上可以搜索到一个叫InfluxdbStudio的工具,但只能在window下使用,有时在其他系统下做简单数据查询时就比较麻烦,下面以Inf ...

  10. webapi fromurl frombody

    https://blog.csdn.net/QiGary/article/details/113979877 在做后台api接口时,常常涉及到Http方法访问问题,其中最基础也是最核心的就是传参问题. ...