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

经典算法:离散化的两种实现方式

思路一:下标映射

如果将下标也一同排序,数据将是怎么的形式呢?

将下标和元素绑定后,有一个好处,对应每个元素能 O(1) 的找出该元素在原始数组中的位置。

因此,我们只需要顺序遍历排序后的元素,顺序的将原数组的值改为[0, n-1]的映射即可。

具体的我们可以如下操作:
  • 排序后的第 0 号元素 ---> 获取原数组 index1 ---> 将原数组的 1 号元素修改为 0
  • 排序后的第 1 号元素 ---> 获取原数组 index4 ---> 将原数组的 4 号元素修改为 1
  • 排序后的第 2 号元素 ---> 获取原数组 index2 ---> 将原数组的 2 号元素修改为 2
  • 排序后的第 3 号元素 ---> 获取原数组 index3 ---> 将原数组的 3 号元素修改为 3
  • 排序后的第 4 号元素 ---> 获取原数组 index0 ---> 将原数组的 0 号元素修改为 4

思路二:二分

其实这里的二分法回归本源也是基于下标映射的原理,只是实现是借助二分的形式。

在排序好的数组中对目标数值进行二分搜索,在O(logn)的时间复杂度内找到该数值是整体数据中的第几个。

具体的我们可以如下操作:
  • 数值 10 ---> 二分搜索 10 ---> 有序序列中第 4 位置
  • 数值 3 ---> 二分搜索 3 ---> 有序序列中第 0 位置
  • 数值 8 ---> 二分搜索 8 ---> 有序序列中第 9 位置
  • 数值 9 ---> 二分搜索 9 ---> 有序序列中第 3 位置
  • 数值 4 ---> 二分搜索 4 ---> 有序序列中第 1 位置
http://www.jsqmd.com/news/1033496/

相关文章:

  • 智能体设计模式:并行化 Parallelization,让 Agent 同时干多件事
  • Redpill Recovery技术实现深度解析:跨平台Synology DSM引导架构设计
  • 时间序列过拟合的三大陷阱与业务感知型检测法
  • 深入解析ZigBee Green Power协议:数据结构、事件机制与低功耗物联网开发实践
  • Python 异步编程实战指南:事件循环优化与性能陷阱
  • 2026年6月流体控温系统定制厂家哪家靠谱?关键指标与选型策略深度解析 - 品牌鉴赏官2026
  • Windows进程管理深度解析:从taskkill命令到系统内核的实战指南
  • QTTabBar终极指南:如何用免费标签页插件拯救你的Windows文件管理混乱
  • 2026年新发布深圳专业的刑事案件律师谁强?这份选型指南为您揭晓 - 品牌鉴赏官2026
  • 3分钟成为浏览器资源捕获专家:猫抓Cat-Catch完全免费使用指南
  • 龙哥量化:通达信云公式条件选股alpha智赢详解
  • 2026年新发布:全国地磅厂家综合实力解析与选择指南 - 品牌鉴赏官2026
  • 2026年企业AI开发外包替代自建团队:从成本对比到服务商筛选的完整决策指南 - 华旭传媒
  • Unlock-Music:打破音乐格式壁垒,让你的音乐库真正属于你
  • JMeter代理录制移动APP接口测试:从原理到实战完整指南
  • 终极指南:5步掌握Weasis开源DICOM医学影像查看器的完整使用技巧
  • 3分钟掌握全网小说离线阅读:novel-downloader小说下载器终极指南
  • 13个机器学习算法终极实战指南:从理论到代码的完整学习路径
  • 抖音批量下载终极指南:3分钟学会免费无水印内容批量采集
  • 3步实现百度网盘Mac版高速下载:高效破解SVIP限制的完整指南
  • 5步掌握iOS 15+越狱:palera1n实战指南与A11设备深度适配
  • 在强腐蚀环境中如何选材?这些HC-276国内厂家值得了解 - 品牌2026
  • 如何快速掌握实时图表编辑:Mermaid Live Editor的完整实战指南
  • Parquet过滤失效的四大物理支点与12个实操关键动作
  • 重庆音响改装:正信汽车音响直击改装痛点,定制专属方案,问界原车音响升级/奥迪音响改装,音响改装门店哪家强 - 音响改装门店分享
  • React/Next.js 现代化 Web 应用:从 CSR 到 SSR/RSC,渲染策略的选型与落地
  • 2026仰义街专业的空调加氟服务商移动电话 - 品牌排行榜
  • 抖音批量下载终极指南:5分钟掌握高效内容管理
  • SMOTE实战避坑指南:解决样本不均衡的工程化方法
  • csv模块:读写表格数据、适配Excel打开、乱码解决实战