/*** 面试题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:把数组排成最小的数相关推荐

  1. 【剑指offer-Java版】33把数组排成最小的数

    把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...

  2. 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)

    问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...

  3. j剑指offer面试题[33]-把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路: 可以 ...

  4. 数据结构与算法--将数组排成最小的数

    将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...

  5. 面试题45. 把数组排成最小的数

    题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...

  6. 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格

    一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...

  7. 算法:把数组排成最小的数

    * @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这 ...

  8. 【LeetCode】剑指 Offer 45. 把数组排成最小的数

    [LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...

  9. printf打印数组_(45)C++面试之把数组排成最小的数

    // 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...

最新文章

  1. C++实现图片的base64编码
  2. 前端学习(392):京东制作页面1京东项目项目介绍
  3. 前端学习(235):css HACK
  4. 交流信号叠加直流偏置_放大器偏置电流Ib需要完整的直流回路
  5. java web怎么快速设计网页_Javaweb毕业设计快速开发指南(一)
  6. glut编译问题 (程序无法运行)
  7. 为2440搭建NFS开发环境【ZT】
  8. selenium 区域截图
  9. UE4编辑器工具——制作一个批量改名的小工具
  10. 基于NW实现的前端桌面应用
  11. 深圳办理cdn经营许可证_申请cdn许可证变更「深圳办理cdn经营许可证」
  12. 报告:非洲加密货币诈骗活动比例低于世界其他地区
  13. 金山 WPS:基于 TensorFlow 的 AI 移动办公
  14. freemarker自定义指令及方法
  15. 桥牌坐庄训练bm2000 level3闯关记录——A9
  16. Stall Reservations
  17. 2023 薪火cms 视频打赏系统源码 独立代理后台
  18. 春哥博客 - 通过iframe定位
  19. zookeeper 网关_zookeeper 有哪些应用场景?面试官希望听到这 4 点!
  20. 计算机专业教学情况反馈表格,实用的计算机教学计划四篇

热门文章

  1. 【源码解析】ArrayList源码解析
  2. 【Spring框架家族】SpringBoot基本介绍
  3. EasyWechat中代金券的发放总结
  4. [Swift]LeetCode835. 图像重叠 | Image Overlap
  5. HTML --- 盒模型
  6. BZOJ4155 : [Ipsc2015]Humble Captains
  7. Mini音乐播放器【简单版】(附源码)
  8. 推荐3款 Docker 认证的实用免费插件,帮助您快速构建云原生应用程序!
  9. Android输入系统(三)InputReader的加工类型和InputDispatcher的分发过程
  10. Mysql视图权限设置的踩坑经历