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小屋

时间: 2024-12-05 17:54:29

Python求解数组重新组合求最小值(优酷)的相关文章

9/6/28 求最小值错误

异常说明:如下图是,数组中求最小值,结果为最小值小于数组中的最小数发生原因:min的初始值设定低于数组最小值解决方法:重新设定min的初始值 错误图示: 改正前: 改正后 原文地址:https://www.cnblogs.com/twuxian/p/11104058.html

旋转数组求最小值

看的网上有个叫做旋转数组的东西,所以查了查.所谓旋转数组就是把一个有序数组转动n位得到的一个东西.例如下图旋转后的a数组 一共查到了两个问题 1.把一个有序数组按照一个长度,旋转 m.获得一个旋转数组    http://blog.csdn.net/lalor/article/details/7961323      这个帖子没看明白c++的rotate怎么就高效了??? 2.旋转数组求最小值      http://zhedahht.blog.163.com/blog/static/25411

分治法求数组的最大值最小值

实现求数组的最大值最小值,蛮力法要容易的多.本着重在体验分治法的思想的原则: 1 int main(void) 2 { 3 void Maxmin(int a[],int low,int high,int maxmin[2]); 4 int a[10],maxmin[2]; 5 6 printf("Enter 10 integer numbers:\n"); 7 for(int i=0;i<10;i++) 8 scanf("%d",a+i); 9 10 Max

求数组中的最小值以及最小值的序列号

var Arr = [5,6,1,2,3];// var minValue = Math.min.apply(null,Arr);//apply方法可直接求出数组中的最小值var minIndex = $.inArray(minValue,Arr);//inArray求最小数在数组中的序列号 固定方法 alert(minIndex);//输出2 即数字1在数组中的位置 求数组中的最小值以及最小值的序列号

黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[] args) { /* * 定义一个int类型的数组,数组中元素为{5,7,3,9,4}. * 求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出"最小值为偶数",如果不是偶数则输出"最小值为奇数".打印如下 */ int arr[]= {5,7,3,9,4

Python算法与数据结构--求所有子数组的和的最大值

Python算法与数据结构--求所有子数组的和的最大值 玄魂工作室-玄魂 玄魂工作室秘书 玄魂工作室?昨天 题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 这个题目有多个解法,比如可以用一个二维数组存之前每个数据的和,然后在进行大小比较:但是这样时间负责度就是O(n2)了. 换个思路思考下,因为是要最大数,那么就不需要存储,只需要找最大值就可以了.但是为了找子序列的最大和,在遇到

JAVA 数组实例-求学生成绩的最大成绩,获取数组中的最大值、最小值

实例: import java.util.*; //求学生最大成绩 public class Test{ public static void main(String[] args){ System.out.println("=======求学生最大成绩========="); Scanner in = new Scanner(System.in); int[] arr = new int[5]; //获取用户输入的每个学生的成绩 for(int i=0;i<arr.length

Python练习:优酷评论过滤(抓取当前视频全部评论,并过滤不包括所需关键词的留言)

1 # coding:utf-8 2 print('正在初始化...') 3 import requests 4 import re 5 from lxml.html import fromstring 6 import pyautogui 7 import sys 8 import os 9 from multiprocessing.dummy import Pool 10 from lxml import _elementpath 11 12 13 class Youku_comment:

优酷、YouTube、Twitter及JustinTV视频网站架构设计

优酷视频网站架构 一.网站基本数据概览 据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据成为google榜单中国内视频网站排名最高的厂商.     硬件方面,优酷网引进的戴尔服务器主要以 PowerEdge 1950与PowerEdge 860为主,存储阵列以戴尔MD1000为主,2007的数据表明,优酷网已有1000多台服务器遍布在全国各大省市,现在应该更多了吧. 二.网站前端框架 从一开始,优酷网就自建了一套CMS来解决前