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

金乡县网站建设网页设计软件介绍

金乡县网站建设,网页设计软件介绍,wordpress开发商城,wordpress power输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组 [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.yayakq.cn/news/337287/

相关文章:

  • wordpress文章页怎么调用网站图片苏州手机app开发
  • 怎么做网络乞丐网站公司网站建设计入什么费用
  • 建个静态网站免费建网站服务最好的公司
  • 上海网站公司电话wordpress 不显示分类目录
  • 网站域名没有实名认证千卓品牌策划
  • 用iis浏览网站重庆建站管理系统价格
  • 网站建设开发三层架构上海徽与章网站建设宗旨
  • 网站建设费用详细表劳动法免费咨询
  • 代做设计网站好求建设网站微信群
  • 访客留言网站做的单页html怎么放网站
  • 网站 信息内容建设 存在问题微信小程序官网首页登录入口
  • 怎么样给自己做网站珠海网站制作哪家好
  • 网站注册登录哪个网站可以做公众号封面
  • 做机器设备的网站网站建设结构图
  • 石家庄网站制作方案哪个网站可以做一对一老师
  • 网站开发有哪些参考文献做婚纱网站的图片素材
  • 南宁网站建设设计怎么建设网站后台
  • 富顺做网站wordpress搭建tag页面
  • 山东省乡镇网站建设qq推广网站
  • 友链查询站长工具学编程多久可以写游戏辅助
  • 保健品的营销及推广方案优化大师下载安装免费
  • 让网站快速收录在线生成多款表白网站是怎么做的
  • 花都网站建设策划网站建设工程师是做什么的
  • 网站什么引导页网页图
  • 凡科活动不良记录多久解除vps优化wordpress
  • h5案例网站江西邮电建设工程有限公司网站
  • 微网站建设平台手机网站返回跳转
  • 建设银行的网站是什么字体郑州人才市场网站
  • cms网站群管理系统小程序是什么意思
  • 阿里云自助建站发布悬赏任务的推广平台