leetcode代码记录(有序数组两数之和

1. 题目:

在这里插入图片描述

给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。

函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。

假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。

示例 1:

输入:numbers = [1,2,4,6,10], target = 8
输出:[1,3]
解释:2 与 6 之和等于目标数 8 。因此 index1 = 1, index2 = 3 。

示例 2:

输入:numbers = [2,3,4], target = 6
输出:[0,2]

示例 3:

输入:numbers = [-1,0], target = -1
输出:[0,1]

2. 我的代码:

利用双指针中的左右指针,向中间逼近。如果两数和比较大,说明大的那个指针有些大应该调小;如果两数和比较小,说明小的那个指针有些小应该调大。比起暴力的n2,复杂度为n

class Solution:
    def twoSum(self, numbers: List[int], target: int) -> List[int]:
        # 左右指针
        min_p = 0
        max_p = len(numbers) - 1

        # 左右指针向中间靠拢
        while min_p != max_p:
            sum_num = numbers[min_p] + numbers[max_p]
            if sum_num < target:
                min_p += 1
            elif sum_num > target:
                max_p -= 1
            else:
                return [min_p, max_p]

小结:

关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
添加我的公众号即可:

相关推荐

  1. LeetCode--代码详解 1.之和

    2024-03-12 23:10:03       32 阅读
  2. leetcode-之和

    2024-03-12 23:10:03       30 阅读
  3. LeetCode之和

    2024-03-12 23:10:03       9 阅读
  4. Leetcode(一)之和

    2024-03-12 23:10:03       43 阅读
  5. LeetCode 1. 之和

    2024-03-12 23:10:03       59 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 23:10:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 23:10:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 23:10:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 23:10:03       20 阅读

热门阅读

  1. 第一次Python小练习题目

    2024-03-12 23:10:03       25 阅读
  2. 03_Tomcat

    03_Tomcat

    2024-03-12 23:10:03      20 阅读
  3. Android中向Fragment传递数据

    2024-03-12 23:10:03       21 阅读
  4. leetcode - 953. Verifying an Alien Dictionary

    2024-03-12 23:10:03       20 阅读
  5. 使用hashmap优化时间复杂度,leetcode1577

    2024-03-12 23:10:03       22 阅读
  6. 计算机等级考试:信息安全技术 知识点六

    2024-03-12 23:10:03       22 阅读
  7. 【Go】探索Go语言中的关于defer的应用

    2024-03-12 23:10:03       22 阅读
  8. VSCode无法用ctrl+鼠标滚轮调整字体大小了

    2024-03-12 23:10:03       18 阅读
  9. python中的幂运算

    2024-03-12 23:10:03       21 阅读