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 组个最小数
转跳点:
随机推荐
- Python的100个小技巧
文章转自:https://mp.weixin.qq.com/s/w5do8QYMkO_gLgPupDdJqg 分享100个Python小技巧,帮助大家更好的了解和学习Python. ▍1.for循环中 ...
- TPS,RPS,QPS,RT的区别
以下是对性能中各项指标的解释: 1.TPS:Transaction Per Second,服务器每秒处理事务数,是衡量系统性能的一个非常重要的指标. 计算公式:TPS= 总请求数 / 总时间. ...
- K8S部署之kubeadm
K8S部署笔记 一.集群环境说明 主机名 IP地址 说明 k8s-master01 192.168.1.107 master节点 k8s-master02 192.168.1.108 master节点 ...
- [转载]Linux关于磁盘操作命令
一.查看篇 1.1.du : 查看文件和 目录的使用空间 语法: du [参数] [文件或目录] 参数 说明 -a 列出所有的文件与目录容量. -h 以G.M.K为单位,返回容量. -s 列出总量. ...
- SpringBoot + Quartz 集成
Quartz 应用启动加载集群配置 @Bean 注解交由 Spring BeanFactory 容器管理 @Bean public JobDetailFactoryBean testJobDetail ...
- docker-compose重新启动单个容器
这很简单:使用命令: docker-compose restart worker 您可以设置在杀死容器之前等待停止的时间(以秒为单位) docker-compose restart -t 30 wor ...
- flutter tabbar指示器indicator宽度高度自定义
在tabbar中indicator宽度是无法修改的,所以需要咱们去自定义indicator. 下面是自定义的代码,直接拷贝使用,已做好修改. // Copyright 2018 The Chromiu ...
- 浅谈Atlassian产品搭建的敏捷管理体系(一)概述
准备把敏捷管理的专题在今年完成,主要谈一下Atlassian的实践,先做一下搬运工,讲去年写的两篇弄过来. Dream big, work smart, deliver fast 使用Atlassia ...
- KingbaseES V8R3集群维护案例之---pcp_node_refresh应用
案例说明: 在一次KingbaseES V8R3集群切换分析中,运维人员执行了pcp_node_refresh,导致集群发生了failover的切换.此文档对pcp_node_refresh工具做了应 ...
- centos7上搭建Jenkins环境
选择在centos 上安装jdk和tomcat来搭建Jenkins 1.jdk安装 查看有没有java环境:rpm -qa | grep java 如果没有java环境的话,接着就去查找java-1. ...