首页 > 代码库 > Python求解数组重新组合求最小值(优酷)
Python求解数组重新组合求最小值(优酷)
题目描述:题目:含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如(321,3,32,) 最小数为321323
题目分析:
将数组中所有元素填充到个数相等,填充的数字为最后一位的数字,如这个case所示,填充之后为{321,333,322},然后按大小排序,
排序之后将填充的数字去掉,然后拼接之后的数字就为最小数,即排序之后为{321,322,333},去掉填充数字为{321,32,3},即为321323
Python实现
def mergeMinValue(lst): #生成字符串列表 lst = list(map(str,lst)) #获得最长的数字长度 m = len(max(lst,key=len)) #根据原来的整数得到新的列表 newList = [(i,i+i[-1]*(m-len(i)))for i in lst] #对补齐的数字字符进行排序 newList.sort(key=lambda item:item[1]) #对原来的数字进行拼接 result = ‘‘.join((item[0] for item in newList)) return int(result)
测试样例:
lst = [321,3,31,38,93] print(mergeMinValue(lst))
测试输出
3132133893
资料参考:Python小屋
Python求解数组重新组合求最小值(优酷)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。