我试图找到一种有效的方法来比较代表客户服务质量的给定数组和两个Web服务的QOS,并获得与给定QOS最相似的数据。
int[] arrayCompare(int[] clientQOS){
int[] service1QOS=new int[]{3,1,4};
int[] service2QOS=new int[]{1,3,3};
//I want to compare clientQOS with S1 QOS and S2 QOS
return mostSimilarArray
}
答案 0 :(得分:1)
循环遍历每个目标的源数组,通过增量(计算值之间的正差)递增计数器。最小的delta和是最接近的匹配。
注意事项
如果您认为数值更接近于更相似,并且不同值之间的比例相等,则应该如此。
答案 1 :(得分:1)
我会创建一个自定义对象而不是数组,并实现接口Comparable。这样你就可以封装比较算法,并在以后的其他地方重复使用。
答案 2 :(得分:0)
有很多计算数组“相似度”的方法。
以下是Golang实现:
set(LIB_SOURCES
Class1.cpp
...
)
# Create the 'lib' target to link to TargetA.
add_library(lib_forTargetA SHARED ${LIB_SOURCES})
target_compile_definitions(lib_forTargetA PRIVATE DEF_A)
# Create the 'lib' target to link to TargetB.
add_library(lib_forTargetB SHARED ${LIB_SOURCES})
target_compile_definitions(lib_forTargetB PRIVATE DEF_B)