download:2021助理高薪-拉钩产品经理高薪训练营-猿人部落 (97yrbl.com)
思路分析:
两层循环,第一层循环加数,第二层循环被加数,和等于目标值时返回结果。 效率也提高不了多少,最多是内层循环从外层的下标加1开始循环,然后找到下标时不执行完所有循环直接返回结果。
AC 代码:
使用个人喜欢的 go ,感觉代码真的好简洁!
package main
import "fmt"
func twoSum(nums []int, target int) []int {
var index []int
var l = len(nums)
for i := 0; i < l; i++ {
a := nums[i]
for j := i + 1; j < l; j++ {
if a+nums[j] == target {
index = append(index, i)
index = append(index, j)
return index
}
}
}
return nil
}
func main() {
nums := []int{2, 7, 11, 15}
target := 25
index := twoSum(nums, target)
if index != nil {
fmt.Println(index)
} else {
fmt.Println("未找到对应下标")
}
}