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

Apache局域网网站制作株洲企业关键词优化最新报价

Apache局域网网站制作,株洲企业关键词优化最新报价,医疗网站建设网,沧州凯航网络技术有限公司1.离散化场景 出现数据范围极大,但是数据量却不大的时候,如果我们要用数据值来映射数组下标,此时数据范围大不好直接映射,我们可以先将数据映射为一个较小的值,然后我们再用离散化后的数据处理问题。 eg:-1…

1.离散化场景

出现数据范围极大,但是数据量却不大的时候,如果我们要用数据值来映射数组下标,此时数据范围大不好直接映射,我们可以先将数据映射为一个较小的值,然后我们再用离散化后的数据处理问题。

eg:-1e9  <= x <= 1e9

此时不能直接根据x的值映射到数组中,因为x的值太大了,数组要开这么多空间是不允许的

离散化的过程:
1.升序排序数据

2.去重

升序排序并去重后我们就按照数据值的大小给原数据提供从1开始的映射值

图示:


2.模板题:

代码实现由两种:

方法一:升序排序+ 去重+二分查找

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
int n;
int cnt;//记录去重后的数据个数
int a[N];//初始数据数组
int disc[N];//离散化后数据
int find(int x)
{int l = 1;int r = cnt;int mid = 0;while (l < r){mid = (l + r) / 2;if (disc[mid] < x){l = mid + 1;}elser = mid;}return l;
}
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];disc[++cnt] = a[i];}sort(disc + 1, disc + 1 + n);//升序排序cnt = unique(disc + 1, disc + 1 + n) - (disc + 1);//去重for (int i = 1; i <= n; i++){cout << a[i] << "的离散化值为" << find(a[i]) << endl;}return 0;
}

注意:

1.unique可以对指定迭代器区间进行去重,并返回去重后的迭代器区间末尾迭代器,所以我们用unique可以完成去重,用他的返回值减去disc+1(区间开始位置迭代器)得到去重后的数据个数

2.find函数作用:利用二分查找的算法将disc数组a[i]值对应的离散化索引找到并返回

方法二:排序+哈希表

#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int N = 1e5 + 10;
int n;
int cnt;
int a[N];//初始数据数组
int disc[N];//离散化后数据
unordered_map<int, int> m;//原数据值,索引
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];disc[++cnt] = a[i];}sort(disc + 1, disc + 1 + cnt);//升序排序int num = 0;for (int i = 1; i <= n; i++){if (m.count(disc[i])){continue;}num++;m[disc[i]] = num;}for (int i = 1; i <= n; i++){cout << a[i] << "的离散化值为" << m[a[i]] << endl;}return 0;
}

注意:

1.哈希表的key是数据值,value是离散化后的数据值

2.当数据值已经出现过在哈希表中,我们就直接跳过即可,不用重复录入

3.最后是要根据原数据值来查找的,所以我们用a[i]当key

http://www.dtcms.com/a/604148.html

相关文章:

  • 做快递单的网站会不会是骗人的成全视频在线直播观看
  • seo网站外包公司给wordpress公告
  • jsp网站开发文献网站建设都需要什么工具
  • 做直播的小视频在线观看网站潍坊高端网站建设价格
  • 厦门市保障性住房官网网站首页关键如何优化
  • 如何在卖家淘宝网站做产品链接广州建信网络有限公司
  • asp网站开发开题报告微信上怎么做网站
  • 卖酒网站排名个人社保缴费应交多少
  • 网站策划案模板公众号编辑器怎么使用
  • 西安网站seo厂家做网站分类链接
  • 网站标题栏怎么做1m带宽做网站速度怎么样
  • 重庆手机网站推广定做热点网站建设
  • 东莞网站建设网站建设淘宝客推广网站建设百度云
  • 莱州网站建设包年网站开发href使用本地链接
  • 吉林省示范校建设专题网站wordpress的排版
  • 基础网站怎么做推广普通话活动总结
  • 学校网站建设都是谁做的企业宣传片拍摄公司
  • 仙桃网站建设公交公司网站建设的意义
  • app开发必须要网站吗福千欣隆网站建设公司怎么样
  • 云和建设局网站品牌企业网站建设
  • 外贸型网站该如何推广汕头建设网站
  • 网站收录工具网站是什么字体
  • 网站建设服务费合同模板鞍山网上制作网站
  • 中铁广州建设有限公司网站餐饮会员管理系统
  • 网站怎么做来卖东西百度通用网址
  • WordPress搭建流媒体网站丽水网站开发公司
  • 徐州做网站谁家最专业wordpress 家装装修模板
  • 旅游网站域名应该如何设计中卫平面设计师招聘
  • 怎么用dw软件做网站东莞城市规划局
  • 长沙网站建设公司哪家专业2022最新通道地址1