From 22e4abafaec6408675eb0832aa95a0586090518e Mon Sep 17 00:00:00 2001 From: zhangxiaoyu-zidif Date: Wed, 14 Jun 2017 20:57:48 +0800 Subject: [PATCH] Refactor slice intersection --- .../scheduler/algorithm/predicates/predicates.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugin/pkg/scheduler/algorithm/predicates/predicates.go b/plugin/pkg/scheduler/algorithm/predicates/predicates.go index 95939bf504..5f286def51 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/predicates.go +++ b/plugin/pkg/scheduler/algorithm/predicates/predicates.go @@ -886,11 +886,17 @@ func PodFitsHostPorts(pod *v1.Pod, meta interface{}, nodeInfo *schedulercache.No // search two arrays and return true if they have at least one common element; return false otherwise func haveSame(a1, a2 []string) bool { - for _, val1 := range a1 { - for _, val2 := range a2 { - if val1 == val2 { - return true - } + m := map[string]int{} + + for _, val := range a1 { + m[val] = 1 + } + for _, val := range a2 { + m[val] = m[val] + 1 + } + for _, val := range m { + if val > 1 { + return true } } return false