给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为 {20, 70, 110, 150},目标值为90
输出 index1=1, index2=2
思路:没有说是排序之后的,就需要正常遍历。或者是构建一个map,直接一次for循环即可,以空间换时间。
package main
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
func twoSum( numbers []int , target int ) []int {
// write code here
var ret []int
num := len(numbers)
for i:= 0; i < num - 1; i++ {
need := target - numbers[i]
for j := i + 1; j < num; j ++ {
if need == numbers[j] {
ret = append(ret, i + 1, j + 1)
return ret
}
}
}
return ret
}