Leetcode---179.最大数

简介: 简单的算法

python中的map函数

map是python中的内置函数,会根据提供的函数对指定的序列做映射。
map的函数格式是map(function,iterable,...) 第一个参数接受函数,第二个接受可迭代序列,返回的是一个集合。
举两个实例:

del square(x):

return x ** 2

map(square,[1,2,3,4,5])

结果如下:

[1,4,9,16,25]

1
2
3
4
5
6
7
8
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])

结果如下:

[3,7,11,15,19]

1
2
3
4
5
还可以实现简单的类型转化。
将字符串转换为list:map(int,'1234')

Python 使用 lambda 来创建匿名函数

lambda [arg1 [, arg2, ..., argn]] : expression
其一,作为函数对象,lambda 可赋值给一个变量,再利用变量来调用该函数f = lambda x : x + 1
其二,作为其他函数的返回值,返回函数:def f(x, y) return lambada x, y : x ** y
reduce函数。此时lambda函数用于指定列表中两两相邻元素的结合条件。

python functools.cmp_to_key使用

比较函数意为一个可调用对象,该对象接受两个参数并比较它们,结果为小于则返回一个负数,相等则返回零,大于则返回一个正数。key function 则是一个接受一个参数,并返回另一个用以排序的值的可调用对象。通过这个函数可以把一个 cmp 函数(它支持两个参数,排序过程是一个对比过程,对比在两个元素之间进行)变成一个 key 函数,从而可以实现自定义排序规则。
class Solution:

def largestNumber(self, nums: List[int]) -> str:
    import functools
    nums_str = list(map(str, nums))
    compare=lambda x,y: 1 if x+y<y+x else -1
    nums_str.sort(key=functools.cmp_to_key(compare))
    res=''.join(nums_str)
    if res[0]=='0':
            res='0'
    return res

将列表字符串化,然后通过lambda函数实现排序,再进行拼接。

相关文章
|
缓存 Java 容器
【Spring IOC容器加载过程】
【Spring IOC容器加载过程】
328 1
|
2月前
|
机器学习/深度学习 编解码 人工智能
快手封号怎么申诉才能成功?
快手封号申诉技术解析
|
7月前
|
机器学习/深度学习 数据采集 PyTorch
用PyTorch从零开始编写DeepSeek-V2
本文详细介绍了如何使用PyTorch从零开始实现DeepSeek-V2,包括数据准备、模型构建、训练和测试等各个环节。掌握这些内容后,您可以根据自己的需求对模型进行扩展和优化,应用于更广泛的图像分析任务中。希望本指南能帮助您在深度学习领域更进一步。
484 9
|
10月前
|
存储 机器学习/深度学习 数据采集
HyDE
HyDE
429 5
|
数据采集 安全 Java
Java Selenium WebDriver:代理设置与图像捕获
Java Selenium WebDriver:代理设置与图像捕获
|
10月前
|
SQL 安全 网络协议
Web 常见攻击方式
【10月更文挑战第25天】这些只是一些常见的 Web 攻击方式,实际上还有许多其他的攻击手段。为了防范这些攻击,需要采取一系列的安全措施,如输入验证、输出编码、安全配置、身份验证等。同时,也需要不断提高用户的安全意识,以减少被攻击的风险。
277 1
|
缓存 安全 网络协议
|
芯片
模电练习题-多路信号发生器(仿真解答)
模电练习题-多路信号发生器(仿真解答)
2226 2
模电练习题-多路信号发生器(仿真解答)
|
Java 关系型数据库 MySQL
|
前端开发 JavaScript 安全
【三十天精通Vue 3】第二十九天 Vue 3中的Mock数据模拟详解
【三十天精通Vue 3】第二十九天 Vue 3中的Mock数据模拟详解
453 0