33:把数组排成最小的数
/*** 面试题33:把数组排成最小的数* 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。* 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。*/
public class _33_min_array {public static void main(String[] args) {Solution33 solution33 = new Solution33();int[] numbers={3,32,321};System.out.println(solution33.PrintMinNumber(numbers));}
}
class Solution33 {public String PrintMinNumber(int [] numbers) {StringBuilder sb1=new StringBuilder("");if(numbers.length==0){return sb1.toString();}StringBuilder sb2=new StringBuilder("");StringBuilder result=new StringBuilder();for(int i=0;i<numbers.length-1;i++){for(int j=i+1;j<numbers.length;j++){sb1.append(numbers[i]);sb1.append(numbers[j]);sb2.append(numbers[j]);sb2.append(numbers[i]);if(sb1.toString().compareTo(sb2.toString())>0){int tmp=numbers[i];numbers[i]=numbers[j];numbers[j]=tmp;}sb1.delete(0, sb1.length());sb2.delete(0, sb2.length());}}for(int k=0;k<numbers.length;k++){result.append(numbers[k]);}return result.toString();}
}
转载于:https://www.cnblogs.com/andy-zhou/p/6549957.html
33:把数组排成最小的数相关推荐
- 【剑指offer-Java版】33把数组排成最小的数
把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...
- 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)
问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...
- j剑指offer面试题[33]-把数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路: 可以 ...
- 数据结构与算法--将数组排成最小的数
将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...
- 面试题45. 把数组排成最小的数
题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...
- 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格
一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...
- 算法:把数组排成最小的数
* @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这 ...
- 【LeetCode】剑指 Offer 45. 把数组排成最小的数
[LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...
- printf打印数组_(45)C++面试之把数组排成最小的数
// 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...
最新文章
- C++实现图片的base64编码
- 前端学习(392):京东制作页面1京东项目项目介绍
- 前端学习(235):css HACK
- 交流信号叠加直流偏置_放大器偏置电流Ib需要完整的直流回路
- java web怎么快速设计网页_Javaweb毕业设计快速开发指南(一)
- glut编译问题 (程序无法运行)
- 为2440搭建NFS开发环境【ZT】
- selenium 区域截图
- UE4编辑器工具——制作一个批量改名的小工具
- 基于NW实现的前端桌面应用
- 深圳办理cdn经营许可证_申请cdn许可证变更「深圳办理cdn经营许可证」
- 报告:非洲加密货币诈骗活动比例低于世界其他地区
- 金山 WPS:基于 TensorFlow 的 AI 移动办公
- freemarker自定义指令及方法
- 桥牌坐庄训练bm2000 level3闯关记录——A9
- Stall Reservations
- 2023 薪火cms 视频打赏系统源码 独立代理后台
- 春哥博客 - 通过iframe定位
- zookeeper 网关_zookeeper 有哪些应用场景?面试官希望听到这 4 点!
- 计算机专业教学情况反馈表格,实用的计算机教学计划四篇
热门文章
- 【源码解析】ArrayList源码解析
- 【Spring框架家族】SpringBoot基本介绍
- EasyWechat中代金券的发放总结
- [Swift]LeetCode835. 图像重叠 | Image Overlap
- HTML --- 盒模型
- BZOJ4155 : [Ipsc2015]Humble Captains
- Mini音乐播放器【简单版】(附源码)
- 推荐3款 Docker 认证的实用免费插件,帮助您快速构建云原生应用程序!
- Android输入系统(三)InputReader的加工类型和InputDispatcher的分发过程
- Mysql视图权限设置的踩坑经历