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

如何理解lambda排序

规则定义

  • 如果a - b < 0,则a排在b前面,实现递增排序。

  • 如果a - b > 0,则a排在b后面。

  • 如果a - b == 0,则ab的顺序不变。

也就是说,如果为负值,则第一个在前,如果为正值,则第二个在前。

推论

这里我们不要去可以考虑 a 和 b 的大小关系,会把自己绕晕(因为有四种情况的同时还要去考虑位置关系,太绕了),而是去考虑 a 和 b 的相对位置关系,下面我们用代替 a 和 b 思考。

如果左 - 右 < 0,则最终位置左在前,此时不用调换位置

如果左 - 右 > 0,则最终位置右在前,此时需要调换位置,注意,此时原来左的元素变为了右,原来右的元素变为了左,如果忽略了这个变化,那么就会被这个问题绕进去,找不到统一规律。

无论是否调换位置,最后的结果一定满足不调换位置的位置关系,因为调换位置就是为了维持这个不调换位置的状态,即:左 < 右,递增。

如果要得到递减情况,那么lambda就是 b - a(右 - 左)

如果右 - 左 < 0,最终右在前,不用调换位置

如果右 - 左 > 0,最终左在前,调换位置。

最终均满足右 < 左,即递减。

统一记忆

无论左右都是小于0的时候位置关系不变,那么就以此为基准,得到最终大小关系:左<右(递增)或者右<左(递减)

http://www.xdnf.cn/news/1083043.html

相关文章:

  • 自动化Prompt生成平台的研发体系设计
  • 《Redis》哨兵模式
  • 数据结构——栈的讲解(超详细)
  • python使用fastmcp包编写mcp服务端(mcp_server)和mcp客户端(mcp_client)
  • Java教程——深入学习guava之并发编程
  • 如何使用backtrace定位Linux程序的崩溃位置
  • 大数据学习2:HIve
  • 故障诊断 | CNN-GRU-Attention故障诊断
  • LINUX75 LAMP
  • 前端-CSS-day1
  • Softhub软件下载站实战开发(十三):软件管理前端分片上传实现
  • 从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南
  • SQL128 统计2021年未完成试卷作答数大于1的有效用户
  • Linux操作系统之文件(四):文件系统(上)
  • Android PNG/JPG图ARGB_8888/RGB_565‌解码形成Bitmap在物理内存占用大小的简单计算
  • STM32中实现shell控制台(命令解析实现)
  • [Cyclone] 哈希算法 | SIMD优化哈希计算 | 大数运算 (Int类)
  • Qt开发:QListWidget的介绍和使用
  • FLUX.1 Kontext:图像生成与编辑的范式革命
  • 基于大模型的肾积水全周期预测与诊疗方案研究报告
  • 【Note】《深入理解Linux内核》 第十八章:深入理解 ext2 与 ext3 文件系统
  • 每日学习问题记录
  • CppCon 2018 学习:STATE MACHINES BATTLEFIELD NAIVE VS STL VS BOOST
  • python实现简单的地图绘制与标记20250705
  • 智链万物:人工智能驱动的产业智能化革命
  • RocketMQ面试题
  • React Hooks全面解析:从基础到高级的实用指南
  • 『 C++入門到放棄 』- string
  • Python关键字梳理
  • 【MySQL进阶】错误日志,二进制日志,mysql系统库