首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

把数组排成最小的数

题目描述

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

解题思路

先将数组转换成字符串数组,然后对字符串数组按照规则排序,最后将排好序的字符串数组拼接出来。

关键就是制定排序规则:

若ab > ba 则 a > b

若ab

若ab = ba 则 a = b

解释说明:

a = 21

b = 2

因为 212

所以我们通过对ab和ba比较大小,来判断a在前或者b在前的。

参考代码

Python

注:这里的cmp是python2中的语法

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190819A005BS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券