• 以整数元素构成的list中的数字组成最小整数


    问题

    把一个int型数组中的数字拼成一个串,这个串代表的数字最小。


    思路说明


    不同角度,对原题理解有所不同。我依照以下的理解方式求解。

    对这个问题的理解:

    1. 有一个元素是int类型的list;

    2. 将上述list中的每一个元素的数字分别取出来。然后将这些数字的顺序进行从新排列,并将当中的最小整数输入。就是题目中要求的最小数字。

    假设依照上述理解,在解题中,最应当小心的是数字假设非常大,比方list中的某个int元素是:222222222222227777777777776666666666699999999999888888888...非常大的整数。就不得不转化为字符串操作了。

    所以,在本问题中。基本思路是:

    1. 将list中的int元素转换为str;
    2. 将全部数字(str类型)装入到一个list2
    3. 对list2进行排序
    4. 将list2中的数字(str类型)组装成一个数值(str类型)

    解决(Python)

    #! /user/bin/env python
    #coding:utf-8
    
    
    def joint_int(lst):
        str_list = [str(i) for i in lst]
        str_lonely = [str_list[i][j] for i in range(len(str_list)) for j in range(len(str_list[i]))]
    
        sorted_str = sorted(str_lonely)
        return "".join(sorted_str)
    
    print joint_int([1230975,4087644567856])

    很多其它以python求解的问题请訪问:https://github.com/qiwsir/algorithm

    qiwsir#gmail.com

  • 相关阅读:
    BZOJ1087=Codevs2451=洛谷P1896&P2326互不侵犯
    poj1286
    P1066 2^k进制数
    开车旅行
    洛谷P1396 营救
    poj1840
    poj3693
    poj1195
    3955 最长严格上升子序列(加强版)
    1021 玛丽卡
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10552898.html
Copyright © 2020-2023  润新知