备战蓝桥杯Day28 - 拼接最大数字问题

问题描述

有n个非负整数,将其按照字符串拼接的方式拼接为一个整数如何拼接可以使得得到的整数最大?

例: 32,94,128,1286,6,71可以拼接除的最大整数为 94716321286128。

问题思路

1.比较两个字符串的第一个数字,数值大的在前面,数值小的在后面

2.当两个字符串长度差不多且其中一个是另一个的字串时,从第一个数字开始比较两个字符串的方法就不太可行了。

3.更好的解决办法是:比较两个字符串结合在一起后的字符串的大小,比如:“128” + ”1286“ < "1286" + "128",通过比较字符串拼接后的数值大小,我们的算法也更容易实现。

代码实现

比较大小是调用python自带的包,也可以自己写冒泡排序来进行排序。

from functools import cmp_to_key
li = [32, 94, 128, 1286, 6, 71]


def xy_cmp(x, y):  # 定义两个字符串拼接后数值比较函数
    if x+y < y+x:
        return 1  
    elif x+y > y+x:
        return -1
    else:
        return 0


def num_join(li):  # 定义拼接函数
    li = list(map(str, li))  # 通过map函数将列表中的数字都转换成字符串格式
    li.sort(key=cmp_to_key(xy_cmp))
    return "".join(li)

print(num_join(li))

冒泡排序的实现我再想想。

一步一步的大踏步向前吧!

相关推荐

  1. 备战Day28 - 拼接数字问题

    2024-03-17 14:00:03       22 阅读
  2. 备战Day29 - 贪心-活动选择问题

    2024-03-17 14:00:03       22 阅读
  3. 备战Day28 - 贪心算法

    2024-03-17 14:00:03       17 阅读
  4. ACwing算法备战——Day30——树状数组

    2024-03-17 14:00:03       35 阅读
  5. 备战20.有奖问答_动态规划

    2024-03-17 14:00:03       13 阅读
  6. 备战 Day4

    2024-03-17 14:00:03       23 阅读
  7. 备战 Day8(长上升子序列LIS模型)

    2024-03-17 14:00:03       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 14:00:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 14:00:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 14:00:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 14:00:03       18 阅读

热门阅读

  1. 大数据开发(Hive面试真题-卷三)

    2024-03-17 14:00:03       23 阅读
  2. redis的安装,启动和关闭

    2024-03-17 14:00:03       19 阅读
  3. 最新2024年项目基金撰写与技巧及GPT融合应用

    2024-03-17 14:00:03       19 阅读
  4. Android中使用intent可以传递哪些类型的数据?

    2024-03-17 14:00:03       16 阅读
  5. Docker安装kafka

    2024-03-17 14:00:03       21 阅读
  6. Vue生命周期

    2024-03-17 14:00:03       18 阅读
  7. 22.4 docker

    2024-03-17 14:00:03       20 阅读
  8. 设计模式之工厂模式

    2024-03-17 14:00:03       17 阅读
  9. mysql读写分离及高可用集群常见问题

    2024-03-17 14:00:03       18 阅读
  10. yum repolist命令的介绍

    2024-03-17 14:00:03       19 阅读
  11. 每天学习一个Linux命令之route

    2024-03-17 14:00:03       16 阅读