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

离散化--

离散化就是“给稀疏或范围很大的数据编号”,让程序更好处理
在这里插入图片描述
思路:
①排序
②去重
③用下标来表示原始值

代码实现:

//存储所有待离散化的值
vector<int> alls;
//排序
sort(alls.begin(),alls.end());
//去重
alls.erase(unique(alls.begin(),alls.end()),alls.end());
//二分求出x对应离散化的值
int find(int x){//找到第一个大于等于x的位置int l=0, r=alls.size()-1;while(l<r){//在二进制表示法中:每往左边移一位,就是 ×2,每往右边移一位,就是 ÷2//等价于int mid = (l + r) / 2;int mid = l + r >> 1;//在左边if(x <= alls[mid]) r = mid;//在右边else l = mid + 1;}return 1;
}

具体例子帮助理解:

vector<int> alls = {2, 5, 7, 10, 15}; // 已经排好序、去重的数组
int x = 8; // 我们要找的是第一个大于等于 8 的值

在这里插入图片描述

相关文章:

  • 金融数据库转型实战读后感
  • 目标检测概述
  • AI在市场营销分析中的核心应用及价值,分场景详细说明
  • 【C++】深入浅出之继承
  • 召回率和精准率-找书的例子
  • 机器视觉在贴标机的应用
  • Flowable进阶
  • C++编译与链接:从源码到可执行文件的魔法之旅(Visual Studio实践)
  • 【嵌入式系统设计师(软考中级)】第一章:计算机系统基础知识(中)
  • 对于“人工智能+教育”的一些思考
  • 【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
  • 【音视频】FLV格式分析
  • python 读取分级目录
  • 7 编译型语言、解释型语言与混合型语言的深度解析:以 C、Java、Python 为例
  • MyCat 分库分表
  • 《SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战》​
  • 在 Linux 服务器上安装 Conda 环境(零基础小白教程)
  • 云服务器CVM标准型S5实例性能测评——2025腾讯云
  • Edge浏览器安卓版流畅度与广告拦截功能评测【不卡还净】
  • 记录一次生产中mysql主备延迟问题处理
  • 商人运作亿元“茅台酒庞氏骗局”,俩客户自认受害人不服“从犯”判决提申诉
  • 遭“特朗普关税”冲击,韩国今年经济增长预期“腰斩”降至0.8%
  • 制造四十余年血腥冲突后,库尔德工人党为何自行解散?
  • 日本航空自卫队一架练习机在爱知县坠毁
  • 新能源汽车,告别混乱创新
  • 中东睿评|特朗普中东三国行:喧嚣的形式与空洞的实质