比较数组之间的相似性

时间:2012-10-16 22:02:26

标签: java arrays algorithm similarity

我试图找到一种有效的方法来比较代表客户服务质量的给定数组和两个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
   }

3 个答案:

答案 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)