浅谈离散化

离散化

离散化:
	我们不需要知道这个数多大,我只要知道这个数在这里相对大小
	举个粟子:(这个只是便于理解)
	原数组:1	50000	600000	70000	600000
	我们要统计这个数组里面的数字比其他的要小的有多少个
	我们可以这样子处理:
	离散化数组:1	2	3	4	3
	这样子是不是可以对付很大的数字(比如:2^32,映射成为某一个数值),进行映射过来
	方便处理
先假设i = 1下标开始
nums[n]代表原来数组
rank[n]代表着新的数组
两个数组每一个数字相同

sort(rank+1 , rank+n+1);
cnt = unique(rank+1 , rank+n+1) - rank - 1;//离散数组大小
for(int i=1; i<=n; i++)
	num[i] = lower_bound(rank+1 , rank+cnt+1 , num[i]) - rank;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值