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


    给定一个已按照 升序排列  的整数数组 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 <= numbers.length <= 3 * 104
    -1000 <= numbers[i] <= 1000
    numbers 按 递增顺序 排列
    -1000 <= target <= 1000
    仅存在一个有效答案

    python代码

    class Solution:

        def twoSum(self, numbers: List[int], target: int) -> List[int]:

            l = 0

            r = len(numbers) -1

            sum = 0

            while(l < r):

                sum = numbers[l] + numbers[r]

                if(sum == target):

                    List = []

                    i= l 

                    j = r  

                    List.append(i)

                    List.append(j)

                    return List

                elif(sum < target):

                    l +=1

                else:

                    r -=1

            return null

           

  • 相关阅读:
    Docker(五)—— 镜像原理、容器快照commit
    基于KPCA 和 STFT 非侵入式负荷监控(Matlab代码实现)
    4.云原生-KubeSphere中安装GitLab(三)
    LeetCode每日一题——652. 寻找重复的子树
    LeetCode——动态规划篇(六)
    C#Web开发之blazor体验
    一个优美的时间片轮转调度算法模拟Python实现
    C++ 基础面试题总结(一)
    vue sass-loader,webpack安装卸载操作命令
    myCat实现分库分表
  • 原文地址:https://blog.csdn.net/m0_51919640/article/details/127977971