c++ - 如何使用 std::upper_bound() 获取元素的索引?
问题描述
在上一篇文章std::upper_bound()
中,讨论了and的使用std::lower_bound()
。但是,问题集中在获取元素element
上,在这篇文章中,我的重点是获取index
元素的元素。我遇到的具体问题如下。我有一个随机变量的累积分布(比如说衬衫颜色)。
- 白色:0.5
- 黑色:0.6
- 绿色:0.8
- 蓝色:1.0
我将在 [0, 1.0] 之间均匀生成一个随机数,然后需要将其映射回累积概率。例如,如果随机数在 [0, 0.5) 中,则为“白色”,如果随机数在 [0.5, 0.6) 中,则为“黑色”,依此类推。
我可能会将我的概率存储在 中,std::vector<double>
但会返回一个迭代器来访问元素,而不是索引。这很好,但是我可能需要 a将 double 映射回字符串值。std::upper_bound()
std::lower_bound()
std::map<double, std::string>
在我想要实现的上下文中,有没有办法像 Python 的bisect
方法一样获取元素的索引?
解决方案
推荐阅读
- android - 在外部托管 Android apk 以绕过大小限制
- wordpress - WordPress网站速度问题
- vba - 在 power point 中使用 VBA 设置项目符号
- excel - 如何根据下拉值复制和粘贴带有超链接的单元格
- javascript - 如何使用 Javascript 在 JSON 中创建多个对象?
- node.js - 我如何根据反应发送消息
- java - “PUT”方法被 cors 策略阻止 请求的资源上不存在“access-control-allow-origin”标头
- java - java加载文件夹中jar和其他文件的顺序
- python - 将 Microsoft Identity Platform 与 Python Web 应用程序(MS Graph/Flask)集成
- amazon-web-services - ACM 中无法删除的证书 - 附加到 AWS 内部资源