当前位置: 首页 > news >正文

杭州企业网站建设公司昆明装饰企业网络推广

杭州企业网站建设公司,昆明装饰企业网络推广,策划书案例范文,东莞高埗疫情最新消息输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组 [3,32,321][3,32,321],则打印出这 33 个数字能排成的最小数字 321323321323。 数据范围 数组长度 [0,500][0,500]。 样例&#x…

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。

例如输入数组 [3,32,321][3,32,321],则打印出这 33 个数字能排成的最小数字 321323321323。

数据范围

数组长度 [0,500][0,500]。

样例:

输入:[3, 32, 321] 

输出:321323 

注意:输出数字的格式为字符串。

解题思路: 首先假设数组内的数为 [a, b, c]。若定义一个新的排序方法即 ab > ba,即a在头部的拼接结果比b在头部的拼接结果大,那么就交换a,b在数组内的位置。以这种判断方式排列出来的新数组,从前往后拼接起来就是我们本题需要的最小数。

以下是证明上述排序方式是有意义的:

设a, b, c 的位数分别为n , m , k。

1.若 ab >= ba 且  ab  <=  ba是否能证明 ab = ba

证明:由于abba位数相同,在数值上比较本假设理应成立,所以此排序满足反对称性。

2.若 ab < babc < cb,是否能证明 ac < ca

证明:ab = a*10^m + b,    ba = b*10^n + a,ac = a*10^k + c, ca = c*10^n +  a;  

  由   ab < ba  得 a/b = (10^n    -   1 )/(10^m      -    1)

由  bc < cb 得b/c = (10^m      -    1)/(10^k      -   1)

只需证明    a/c = (10^n    -     1)/(10^k    -     1)

结论显然成立。即此排序方法满足传递性

由于sort()方法核心是快速排序,快排核心就是反对称性(特定情况唯一)与 传递性(让数据有梯度)。所以此新定义得排序方法有意义。

最后我们只需证明我们排序后的数组就是最优数组即可:

设我们排序后的数组是 [a, b, c, d],那么最小数就是 abcd

利用反证法:

假设最小数是acbd,由于a,d所处位置一样所以比较bc,cb大小即可

由我们的新排序定义可知 bc < cb 所以 abcd < acbd,所以假设不成立。

即排序后的数组就是最优数组。

理论成立代码如下:

class Solution {public String printMinNumber(int[] nums) {Integer a[] = new Integer[nums.length];for(int i =0; i < nums.length; i ++) a[i] = nums[i];//只能转换成Integer类Arrays.sort(a, new Comparator<Integer>() {public int compare(Integer o1, Integer o2) {//新排序方法String a = "" + o1;String b = "" + o2;if(Integer.valueOf(a + b) > Integer.valueOf(b + a))return 1;//交换位置else return -1;//不换}});String s1 = "";for(int i = 0; i < a.length; i ++) s1 = s1 + a[i];return s1;} 
}

http://www.ds6.com.cn/news/64831.html

相关文章:

  • 网站开发新闻怎么写昆明百度关键词优化
  • 建立网页的几个步骤李江seo
  • 福州一站式品牌推广运营公司网络推广公司十大排名
  • 专业网站建设公司电话哪里有免费的网站推广服务
  • 一台云服务器可以做多少个网站推广营销
  • 宿州集团网站建设常见的网络营销工具有哪些
  • 北京网站建设 网站维护今日要闻10条
  • 合肥做网站价格天猫代运营
  • 企业如何在网站上做宣传seo关键词优化推广
  • 用哪个网站做相册视频文件夹指数函数求导
  • 深圳惠州网站建设武汉网站设计十年乐云seo
  • 建网站怎么赚钱国产系统2345
  • 网站每天点击量多少好谷歌google地图
  • 网站建设合同书缴纳印花税吗网站有哪些平台
  • 第一个做电子商务的网站池州网络推广
  • 网站制作一般多少钱日本预测比分
  • 牛牛网站开发网络推广外包费用
  • 衡阳网站推广室内设计培训
  • 仪征 做网站北京优化seo排名
  • 网站建设项目进展情况汇报推广论坛有哪些
  • 社交电商app开发seo网址
  • 乐云seo模板网站建设百度广告怎么做
  • 购物网站建设图标大全南宁seo推广优化
  • 建设网站com深圳网站优化推广
  • 研发个app需要多少钱枫林seo工具
  • 英语工作室网站怎么做搜索引擎优化培训中心
  • 做阿里巴巴英文网站人员优化方案怎么写
  • 网站平台策划书国内做seo最好公司
  • 建设银行集团网站首页体验营销策略
  • 日本正能量不良网站直接进入广西疫情最新消息