共享备案网站wordpress站点打不开
共享备案网站,wordpress站点打不开,人工智能好就业吗,wordpress如何导出数据字典正题之前 三玖yyds#xff01;#xff01;#xff01;
题目
给定一组非负整数 nums#xff0c;重新排列每个数的顺序#xff08;每个数不可拆分#xff09;使之组成一个最大的整数。
注意#xff1a;输出结果可能非常大#xff0c;所以你需要返回一个字符串而不是整…正题之前 三玖yyds
题目
给定一组非负整数 nums重新排列每个数的顺序每个数不可拆分使之组成一个最大的整数。
注意输出结果可能非常大所以你需要返回一个字符串而不是整数。
示例 1
输入nums [10,2]
输出210
示例 2
输入nums [3,30,34,5,9]
输出9534330
题目链接click here
思路
此题求拼接起来的最大数字。设数组nums 中任意两数字的字符串为 x 和 y则规定 贪心策略
若拼接字符串 xyyx则x“大于”y 。 反之若 xyyx则 x“小于” y。 x “小于” y 代表排序完成后数组中 x 应在 y 左边“大于” 则反之。
根据以上规则套用排序方法对 nums 执行排序即可。
详细题解. - 力扣LeetCode
python代码
class Solution:def largestNumber(self, nums: List[int]) - str:# 自定义比较函数def _myfunc(a,b):return int(str(a)str(b))-int(str(b)str(a))# nums按照自定义函数排序nums.sort(keycmp_to_key(_myfunc), reverseTrue)# 拼接为字符串ansfor i in nums:ansstr(i)# 防止ans中元素均为0if ans[0]0:return 0return ans
这段代码定义了一个Solution类其中包含一个名为largestNumber的方法。该方法接受一个整数列表nums作为输入并返回一个字符串。在方法中我们首先定义了自定义的比较函数_myfunc然后使用该函数对nums进行排序。最后我们将排序后的数字拼接成一个字符串并检查第一个字符是否为0如果是则返回0否则返回拼接后的字符串。
这种方法非常巧妙地利用了Python的内置排序函数和自定义比较函数以及对字符串和整数的转换操作来解决了一个看似复杂的问题
注意事项
sort中用到的排序函数不可用lambda定义因为lambda定义的函数只能接受一个参数所以只能def定义一个比较函数再用functools.cmp_to_key将def定义的比较函数转为关键字函数之后传给sort中的key当ans中都是‘0’时只能返回一个‘0’
结语
希望这篇博客能够帮助你更好地理解Python中的排序和比较函数并激发你对算法和数据结构的兴趣。如果你有任何疑问或建议欢迎在评论区留言让我们一起讨论
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88027.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!