gpt4 book ai didi

java - float[] 差异

转载 作者:行者123 更新时间:2023-12-02 08:18:22 29 4
gpt4 key购买 nike

我想知道查找两个 float 组之间差异的绝对值的最有效方法是什么?

是否是以下内容:

private float absDifference(float[] vector1, float[] vector2) {
float difference=0;
int len=Math.max(vector1.length, vector2.length);
for(int n=0;n<len;n++){
float diff=0;
if(n<vector1.length){
diff+=vector1[n];
}
if(n<vector2.length){
diff-=vector2[n];
}
difference+=Math.abs(diff);
}
return difference;
}

最佳答案

private float absDifference(float[] vector1, float[] vector2) {
float difference=0;
int len=Math.min(vector1.length, vector2.length);
for(int n=0;n<len;n++){
diff+=vector1[n]-vector2[n];
difference+=Math.abs(vector1[n]-vector2[n]);
}
if(vector1.length > vector2.length){
for(;n<vector1.length;n++){
difference+=Math.abs(vector1[n]);
}
}else{
for(;n<vector2.length;n++){
difference+=Math.abs(vector2[n]);
}
}
return difference;
}

这样,在单独处理较长数组的其余部分之后,第一个循环内就不会重复进行边界检查

关于java - float[] 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5925031/

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