- 给定一个切片以及一个目标值,返回第一对和为目标值的两个元素的下标
func TargetIndex(s []int64, target int64) (res []int64) {
var m = make(map[int64]int64, len(s)) // 引入一个map来避免嵌套循环,O(n^2) ==> O(n)
for i, v := range s {
v2, ok := m[target-v]
if ok {
return []int64{v2, int64(i)}
} else {
m[v] = int64(i)
}
}
return
}