package test;
import java.util.Arrays;
import java.util.Comparator;
public class PrintMinNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
print(new int[]{12,22,42,32,52,62,72111});
}
public static void print(int[] nums){
String[] strs=new String[nums.length];
for(int i=0;i<nums.length;i++){
strs[i]=nums[i]+"";
}
Comparator<String> cmp=new Compare();
Arrays.sort(strs, cmp);
for(String str:strs){
System.out.print(str);
}
}
}
class Compare implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
String str1=o1+o2;
String str2=o2+o1;
return str2.compareTo(str1);
}
}
分享到:
相关推荐
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解法一:cmp_to_key函数 from ...
题目 "把数组排成最小的数1" 是一个典型的计算机科学问题,主要涉及到字符串处理、排序算法以及数据类型的转换。该问题的目标是给定一个非负整数数组,通过拼接数组中的数字来形成一个新的数,并确保这个数是最小的...
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路一:暴力破解:先求所有...
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的
对于给定的n位正整数a 和正整数k,设计一个算法找出剩下数字组成的新数 最小的删数方案。 «编程任务: 对于给定的正整数a,编程计算删去k个数字后得到的最小数。 Input 由文件input.txt提供输入数据。文件的第1...
3. **排序并输出结果:** 使用Java中的排序算法(例如冒泡排序或使用`Arrays.sort`配合自定义比较器)对输入的整数数组进行排序,然后按顺序拼接所有数字形成最终结果。 #### 2. Java编程实现 **关键代码分析:** ...
游戏初始时,n 个整数按照一定的顺序从左至右排成一行,两位玩家(假设为甲乙双方)轮流在这一行数的左右两端取数,直到所有数被取完为止。每位玩家所取数字之和即为该玩家的得分。游戏的目标是获得更高的得分。 ##...
- 第一行包含两个整数 n 和 m,分别表示序列的长度和分割的段数。 - 第二行包含 n 个整数,表示序列中的元素。 **输出**: - 输出一行,包含一个整数,即 m 个子序列的和的最大值的最小可能值。 #### 示例 **输入...
排序是一种很频繁的计算任务。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把它排序。... 输出包含一行,为排成升序后的数字序列。
题目要求从1到X(即1至X之间的整数)中选择N个不同的数字,并且这些数字排成一列后,任意两个相邻的数字不相同。任务是找出所有满足条件的排列方式。 #### 解决方案概述 为了解决这个问题,我们可以采用递归回溯的...
给定一个数列,用归并排序算法把它排成升序。 输入: 第一行是一个整数n(n不大于10000),表示要排序的数的个数; 下面一行是用空格隔开的n个整数。 输出: 输出排序后的数列,每个数字占一行。 输入样例: ...
最近在工作碰到一个问题,就是用javascript求数组中所有数字能拼接出的最大整数,数组的每一项为单独的拼接项,不能再拆开,例如[2,34]中2和34分别为要被拼接的数字,而不是说34还能继续拆分为3和4。 具体需求为,...
### 快速排序(整数) #### 知识点概览 1. **快速排序算法原理** 2. **枢纽元素的选择** 3. **分区过程详解** 4. **递归调用的理解** 5. **C语言实现** #### 快速排序算法原理 快速排序是一种高效的排序算法,...
输入: 第一行是一个整数n,表示要排序的数的个数;下面一行是用空格隔开的n个整数。 输出: 输出排序后的数列,每个数字占一行。 输入样例: 5 3 2 1 4 5 输出样例: 1 2 3 4 5
第一行是一个整数n(n不大于10000),表示要排序的数的个数; 下面一行是用空格隔开的n个整数。 输出: 输出排序后的数列,每个数字占一行。 输入样例: 5 3 2 1 4 5 输出样例: 1 2 3 4 5
数据结构上机题 //1、设有两个有序序列,利用归并排序将它们排成有序表,并输出。
要求控制台显示如下内容,然后根据前方数字进行相应操作 1、创建一条含整数结点的无序链表 2、链表结点的输出 3、链表结点的升序排序 4、分别计算链表中奇数和偶数结点之和并输出 5、释放链表 0、退出
问题描述:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法,并证明该算法。 思路:先将...
基本思想是选取一个基准元素,通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。快速排序平均时间复杂度为O(n ...
26.树的子结构 Tree 常考 27.二叉树的镜像 Tree 28.对称的二叉树 Tree 29.顺时针打印矩阵 Array 30.包含min函数的栈 Stack ...45.把数组排成最小的数 String 46.把数字翻译成字符串 String 47.礼物的