image.png

    有序数组 设置双指针 来回移动位置

    1. package main
    2. import "fmt"
    3. func twoSum(numbers []int, target int) []int {
    4. l :=0
    5. r :=len(numbers)-1
    6. for l<=r{
    7. res := numbers[l]+numbers[r]
    8. if res==target{
    9. return []int{l+1,r+1}
    10. }else if res>target {
    11. r--
    12. }else {
    13. l++
    14. }
    15. }
    16. return nil
    17. }
    18. func main() {
    19. fmt.Println(twoSum([]int{2, 7, 11, 15},9))
    20. }

    image.png