PAT-basic-1023 组个最小数 java
一、题目
给定数字 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的更多相关文章
- PAT Basic 1023 组个最小数 (20 分)
给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就 ...
- PAT乙级 1023. 组个最小数 (20)
1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...
- PAT 乙级 1023.组个最小数 C++/Java
题目来源 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的 ...
- PAT Basic 1023 组个最⼩数 (20) [贪⼼算法]
题目 给定数字0-9各若⼲个.你可以以任意顺序排列这些数字,但必须全部使⽤.⽬标是使得最后得到的数尽可能⼩(注意0不能做⾸位).例如:给定两个0,两个1,三个5,⼀个8,我们得到的最⼩的数就是1001 ...
- PAT (Basic Level) Practise (中文) 1023. 组个最小数 (20)
1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...
- PAT (Basic Level) Practice (中文)1023 组个最小数
1023 组个最小数 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8 ...
- PAT 1023 组个最小数 (20)(代码+思路)
1023 组个最小数 (20)(20 分) 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5, ...
- PAT-乙级-1023. 组个最小数 (20)
1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...
- PAT Basic 1023
1023 组个最小数 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个8,我们得到的最小 ...
- P 1023 组个最小数
转跳点:
随机推荐
- Document.createEvent与new Event区别
Document.createEvent 写法: const e = document.createEvent('HTMLEvents'); e.initEvent('click', true, tr ...
- elementUI中table组件前端自己实现序号排序
<el-table-column type="index" label="序号" width="50" align="cen ...
- VS Code第一部分--创建
第一步:Win键+R cmd 打开之后 输入 vue ui 运行结束后 会显示一个仪表盘页面 点击左下方的更多 点击项目管理器 点击创建 输入自己创建的文件夹地址 按回车保存 点击下方的创建 ...
- Windows Terminal 中 WSL2 默认打开路径
打开Windows Terminal.鼠标点击进入设置,或者同时按ctrl和逗号.找到如下内容: { "guid": "{07b52e3e-de2c-5db4-bd2d- ...
- Python的入门学习Day 14~15——form”夜曲编程“
Day 14 time: 2021.8.11. 原文再续,输接上一回.在数据结构之上,我们又开启了新一章"循环"的学习.而今天,我们首先学习了"for"循环 ...
- C语言标准 —— C89(C90)、C99、C11、C17、C2X
https://blog.csdn.net/u010217055/article/details/128957497
- pytest设计项目结构
api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...
- 学习-Vue2-Vue实例-数据与方法-数据的响应式
当一个实例被创建时,它将data对象中的所有的property加入到Vue的响应式系统中. 当这些property的值发生改变时,视图将会产生"响应",即匹配更新为新的值.当这些数 ...
- Beaver解析代码反向生成语法文件
背景 Beaver是一款LALR的语法生成工具,现在有一个反编译项目的需求,需要将Beaver语法文件编译后的代码反向生成语法文件的需求,不去评论需求多么傻逼,直接干 设计 flowchart 语法文 ...
- drop table后,约束会被删除吗?
create table test1(id number); insert into test1 values(11);insert into test1 values(22);insert into ...