把数组排成最小的数
来源:互联网 发布:sql server 认证 编辑:程序博客网 时间:2024/06/03 14:01
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
思路:排序需要比较两个元素的“大小” ,两个字符串拼成一个字符串,比较字典顺序,如果前边的大返回true,如果后边的大返回false,
排序完成之后再拼接成一个字符串。
import java.util.ArrayList;public class Solution { public String PrintMinNumber(int [] numbers) { for(int i = numbers.length; i > 0; i--){ for(int j = 0; j < i -1 ;j++){ String str1 = String.valueOf(numbers[j]); String str2 = String.valueOf(numbers[j+1]); if(compare(str1,str2)){ int temp = numbers[j]; numbers[j] = numbers[j+1]; numbers[j+1] = temp; } } } StringBuilder sb = new StringBuilder(); for(int i = 0; i < numbers.length;i++){ sb.append(numbers[i]); } return sb.toString(); } public boolean compare(String str1,String str2){ String s1 = str1.concat(str2); String s2 = str2.concat(str1); if(s1.compareTo(s2) > 0){ return true; }else{ return false; } }}
阅读全文
0 0
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- shell 脚本 内存检测预警和磁盘检测预警
- centos搭建lampp
- 身份证验证
- linux-svn命令
- Windows下Qt 5.6.3 for Android开发环境搭建
- 把数组排成最小的数
- centos搭建svn及自动推送
- Leetcode之Search in Rotated Sorted Array II 问题
- 搬瓦工(Bandwagon) 重装系统
- Liu_runda 的简单题 随(rand) 倍增优化 概率DP
- 170923_Spring Cloud 微服务实战(翟永超著) 读书笔记(一)_什么是Spring Cloud?
- codeforces 863D
- JDBC链接警告WARN: Establishing SSL connection without server's identity verification is not recommended.
- LeetCode-Longest Substring Without Repeating Characters