我编写了一个算法来获得 std::vector 中两个元素之间的最大差异,其中两个值中较大的值必须比较低的值在更高的索引处。
unsigned short int min = input.front();
unsigned short res = 0;
for (size_t i = 1; i < input.size(); ++i)
{
if (input[i] <= min)
{
min = input[i];
continue;
}
int dif = input[i] - min;
res = dif > res ? dif : res;
}
return res != 0 ? res : -1;
Run Code Online (Sandbox Code Playgroud)
是否可以使用 SIMD 优化此算法?我是 SIMD 的新手,到目前为止我没有成功