当前位置: 首页 > news >正文

sort 定制排序规则(配合functools.cmp_to_key())

sort 定制排序规则(配合functools.cmp_to_key())

配合例题学习
题目链接:179. 最大数
题目大意:给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。
注意:(1)1 <= nums.length <= 100;(2)0 <= nums[i] <= 10910^9109

示例:

输入:nums = [10,2]
输出:"210"输入:nums = [3,30,34,5,9]
输出:"9534330"

参考代码:

class Solution:def largestNumber(self, nums: List[int]) -> str:def cmp(x,y):return 1 if x+y<y+x else -1nums = list(map(str,nums))nums.sort(key=functools.cmp_to_key(cmp))return ''.join(nums) if nums[0]!='0' else '0'
  • 综合是用来 map容器,sort按照制定规则排序。
  • 复杂度分析:时间上,由于是用来sort和functools,应该是二阶的,即O(n2)O(n^2)O(n2),空间上,为O(n)O(n)O(n).
http://www.lryc.cn/news/21862.html

相关文章:

  • 【华为OD机试模拟题】用 C++ 实现 - 内存池(2023.Q1)
  • Python--深入浅出的装饰器--1
  • 如何从0创建Spring Cloud Alibaba(多模块)
  • 【华为OD机试模拟题】用 C++ 实现 - 某公司组织招聘(2023.Q1)
  • Spring Cloud Sentinel实战(一)- Sentinel介绍
  • 基于SpringBoot的任务管理三种方式
  • 【华为OD机试模拟题】用 C++ 实现 - 查找单入口空闲区域(2023.Q1)
  • 普乐蛙部队vr训练设备军事训练vr体验馆设备元宇宙VR
  • 大数据Hadoop教程-学习笔记05【Apache Hive DML语句与函数使用】
  • Unity动画转Three.js动画
  • 07_MySQL的单行函数
  • QML 第一个应用程序Window
  • RedisAI编译安装(一)
  • 换掉 Maven,我就用Gradle,急速编译
  • 22.2.26打卡 Codeforces Round #853 (Div. 2)
  • 结构体字节对齐、偏移量
  • 全网最全——Java 数据类型
  • 数据结构基础之动态数组
  • 【跟我一起读《视觉惯性SLAM理论与源码解析》】第九章 地图点、关键帧以及图结构
  • 网络安全——数据链路层安全协议(2)
  • 【华为OD机试模拟题】用 C++ 实现 - 热点网络统计(2023.Q1)
  • 人工智能学习07--pytorch09--LeNet
  • java泛型编程初识
  • 代码随想录算法训练营 || 贪心算法 1005 134 135
  • Spring框架面试题
  • 纯x86汇编实现的多线程操作系统实践 - 第五章 AP的守护执行
  • 2023年全国最新高校辅导员精选真题及答案7
  • 使用windwow windbg 吃透64位分页内存管理
  • Java知识复习(五)JVM虚拟机
  • 房屋出租管理系统