【剑指Offer】把数组排成最小的数 解题报告(Python)
【剑指Offer】把数组排成最小的数 解题报告(Python)
标签(空格分隔): 剑指Offer
题目地址:https://www.nowcoder.com/ta/coding-interviews
题目描述:
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
解题方法
见过的题,再做就知道怎么做了,这个题的做法很巧妙,把要比较的两个数字进行不同顺序的前后拼接,进行大小比较。剑指Offer上有个证明,证明了按拼接次序进行排序得到的数字串变成str后数字是最小的。
代码:
# -*- coding:utf-8 -*-
# -*- coding:utf-8 -*-
class Solution:
def PrintMinNumber(self, numbers):
return "".join(map(str,sorted(numbers, cmp = lambda a, b : cmp(str(a) + str(b), str(b) + str(a)))))
Date
2018 年 3 月 21 日 – 睡了个懒觉,感觉好幸福。。
【剑指Offer】把数组排成最小的数 解题报告(Python)的更多相关文章
- [剑指Offer]45-把数组排成最小的数
题目链接 https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993?tpId=13&tqId=11185&t ...
- 剑指Offer——把数组排成最小的数
题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 分析: 排 ...
- 用js刷剑指offer(把数组排成最小的数)
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路 对ve ...
- 剑指offer 把数组排成最小的数 atoi和itoa,pow
pow(x,y)在#include<math.h>文件中,计算x的y次方. C++引入头文件:#include <stdlib.h> 或者 #include <cstdl ...
- leetcode 179. Largest Number 、剑指offer33 把数组排成最小的数
这两个题几乎是一样的,只是leetcode的题是排成最大的数,剑指的题是排成最小的 179. Largest Number a.需要将数组的数转换成字符串,然后再根据大小排序,这里使用to_strin ...
- 剑指offer--32.把数组排成最小的数
用to_string()将整形转化为字符串,对字符串进行比较 --------------------------------------------------------------------- ...
- 剑指Offer-39.把数组排成最小的数(C++/Java)
题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 分析: 将数组 ...
- 4-剑指offer: 把数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 代码: cl ...
- 剑指Offer31 把数组排成最小的数
/************************************************************************* > File Name: 31_SortAr ...
随机推荐
- Excel-vlookup内部能不能用函数?(即内部嵌套函数)
11.vlookup(查找值,目标区域,列序号,FALSE0/TRUE1)内部能不能用函数?(即内部嵌套函数) 总结:只能说有,但不是所有,目前还没有找到规律(唯一的规律是内嵌函数结果值得是符合vlo ...
- CentOS6源码安装zabbix服务器
1.下载安装包并解压 2.预环境搭建 3.创建zabbix用户,编译安装zabbix 4.配置mysql 5.配置zabbix-server 6.配置apache和php 7.添加开机自启动 1 yu ...
- Spring 注解开发
目录 注解开发简介 常用注解 启用注解功能 bean 定义:@Component.@Controller.@Service.@Repository bean 的引用类型属性注入:@Autowired. ...
- 巩固javaweb的第二十六天
正则表达式 正则表达式提供了一种高级的.但不直观的字符串匹配和处理的方法.它描述了一种 字符串匹配的模式,可以用来判断一个字符串是否满足某种格式,或者一个字符串是否含 有某个子串等. 1. 字符集 正 ...
- 转 android design library提供的TabLayout的用法
原文出处:http://chenfuduo.me/2015/07/30/TabLayout-of-design-support-library/ 在开发中,我们常常需要ViewPager结合Fragm ...
- ORACLE CACHE BUFFER CHAINS原理
原理图如下: 一个cache buffer chains 管理多个hash bucket,受隐含参数:_db_block_hash_buckets(控制管理几个hash bucket)
- MyBatis常用批量方法
<!-- 批量添加派车单子表数据 --> <insert id="addBatch" parameterType="java.util.List&quo ...
- Spring MVC入门(一)—— RestTemplate组件
ClientHttpRequestFactory 它是个函数式接口,用于根据URI和HttpMethod创建出一个ClientHttpRequest来发送请求~ ClientHttpRequest它代 ...
- MySQL索引及性能优化分析
一.SQL性能下降的原因 查询语句问题,各种连接.子查询 索引失效(单值索引.复合索引) 服务器调优及各个参数设置(缓冲.线程池等) 二.索引 排好序的快速查找数据结构 1. 索引分类 单值索引 一个 ...
- 【Word】自动化参考文献-交叉引用
第一步:设置参考文献标号 开始-定义新编号格式中,定义参考文献式的方框编号: 这里注意不要把他原来的数字去掉 第二步:选择交叉引用 插入-交叉引用: 第三步:更新标号 如果更新标号,使用右键-更新域. ...