gpt4 book ai didi

c++ - 编写模式识别功能以按特定顺序查找数字的出现? C++

转载 作者:行者123 更新时间:2023-11-27 23:48:56 27 4
gpt4 key购买 nike

我有一个存储来自源的 double 值的容器,我需要找到以特定顺序/模式出现的数字的位置。

vector<double> m = {-0.15,0.2,-0.2,-0.1,0.5,-0.15,-0.8,0.35,-0.2,-0.35......nth}

如果数字按顺序(按顺序)出现,是否有任何方法可以找到数字的位置:

m[x] = 0.1 to 0.5  //value of m[x] must between those two values
m[x+1] = 0.35 to 0.7 //anywhere between the range
m[x+2] = -0.1 to 0.1 // "
m[x+3] = 0.0 to.03 // "

最佳答案

std::search使用自定义谓词。

您的模式将包含范围,如果 LHS double 位于 RHS 范围内,您需要一个自定义二元谓词返回 true。

未测试示例:

using Range = std::pair<double,double>;
std::vector<Range> pattern {{0.1, 0.5}, {0.35, 0.7}, {-0.1, 0.1}, {0.0, 0.03}};
auto match = std::search(begin(m), end(m),
begin(pattern), end(pattern),
[](double d, Range r) {
return (r.first < d) && (d < r.second);
});

为您的双重比较等添加适当的 epsilon

关于c++ - 编写模式识别功能以按特定顺序查找数字的出现? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com