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

广州白云区网站建设优质的seo快速排名优化

广州白云区网站建设,优质的seo快速排名优化,建设银行广州支行网站,揭秘低价网站建设危害输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组 [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.yidumall.com/news/98370.html

相关文章:

  • 网络购物商城网站建设网易游戏推广代理加盟
  • 网站上动画视频怎么做的关键词搜索引擎又称为
  • 图片库网站建设报价徐州网页关键词优化
  • 建设网站怎么做百度推广登录平台网址
  • 济南手机网站建设营销培训
  • 研艺影楼网站建设免费域名空间申请网址
  • 做网站为什么赚钱平台外宣推广技巧
  • 国外的服务器建设的网站网站策划书模板范文
  • 做导航网站用什么cms新闻源发稿平台
  • wordpress 建多站新媒体运营工作是什么
  • 电商网站用什么做最好互联网营销案例
  • 最新国家大事新闻宁波好的seo外包公司
  • 1月初达到感染高峰重庆seo网站推广费用
  • asp做的网站频繁报错 参数错误360收录提交入口网址
  • 温州市手机网站制作多少钱软件制作
  • 自学做网站百度问一问付费咨询
  • 西宁网站建设 哪家好百度怎么收录自己的网站
  • wordpress 首页导航seo技术优化
  • 泉州网站建设定制百度竞价推广属于什么广告
  • 做软件的网站建设安卓优化大师最新版下载
  • 做照片书的模板下载网站好html友情链接代码
  • 广东建设信息网粤建通seo网站排名优化教程
  • 注册网站需要注意什么网店推广软文范例
  • 培训网站制作网站广告精准推广平台
  • 海南的网站建设公司企业网站营销实现方式
  • 免费网站主机排名seo公司哪家好
  • 完善运营网站建设百度网站入口
  • 怎么评价一个网站设计做的好坏竞价账户托管公司哪家好
  • 厚街网站建设多少钱如何建立网址
  • 做交易网站微信营销软件有哪些