算法题/把数组排成最小的数
来源:互联网 发布:淘宝优惠券推广 编辑:程序博客网 时间:2024/06/06 11:04
python2.7
输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法
最简单想法:将数组全排列,找出最小的值
#coding:utf-8def arrangement(a): if len(a) == 0: return [[]] else: result = [] for i in a: temp = a[:] temp.remove(i) for j in arrangement(temp): result.append([i]+j) return resultdef get_min_number(a): s = ''.join(a) s_arr = list(s) result = arrangement(s_arr) k = int(''.join(result[0])) for i in result[1:]: if int(''.join(i))< k: k = int(''.join(i)) return kprint(get_min_number(['321','32','3']))
阅读全文
0 0
- 把数组排成最小的数[算法]
- 算法题37 把数组排成最小的数
- 算法题:把数组排成最小的数
- 算法题19 把数组排成最小的数
- 算法题/把数组排成最小的数
- 编程算法 - 把数组排成最小的数 代码(C)
- 面试算法(三十三)把数组排成最小的数
- 算法题目---把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 线程同步的几种方法
- 操作序列
- 动态规划——最大连续子数组和(或乘积)
- iOS 工程自动化
- HDU-2017中国大学生程序设计竞赛-网络选拔赛-1001-Vertex Cover
- 算法题/把数组排成最小的数
- 线性筛求欧拉函数
- 大型网站技术架构(三)--架构核心要素
- Android之Gson时间格式不一致导致后台解析错误问题
- C/C++标准头文件列举
- ArrayList、LinkedList、Vector的区别
- HDU 2089:不要62
- 和为S的连续正数序列
- O(1)时间检测2的幂