力扣刷题-167.两数之和

给你一个下标从 1 开始的整数数组 numbers ,该数组已按非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1]numbers[index2] ,则 1 <= index1 < index2 <= numbers.length

以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1index2

你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。

你所设计的解决方案必须只使用常量级的额外空间。

cpp 复制代码
class Solution {
public:
    vector<int> twoSum(vector<int>& numbers, int target) {
        int low = 0, high = numbers.size() - 1;
        while (low < high) {
            int sum = numbers[low] + numbers[high];
            if (sum == target) {
                return {low + 1, high + 1};
            } else if (sum < target) {
                ++low;
            } else {
                --high;
            }
        }
        return {-1, -1};
    }
};

利用双指针,逻辑比较简单,但是写出来费劲,左右相加依次递减遍历答案。

相关推荐
星马梦缘13 小时前
死锁与进程资源分配问题的解法
算法·操作系统·深度优先·死锁
仙俊红13 小时前
线程池面试
python·面试·职场和发展
爱炼丹的James13 小时前
第四章 数学知识
算法
吃好睡好便好13 小时前
矩阵旋转的计算
学习·线性代数·算法·矩阵
埃菲尔铁塔_CV算法14 小时前
基于扩张卷积与双分支参数调控的低光照图像增强算法完整研究与工程解析
人工智能·神经网络·算法·机器学习·计算机视觉
迈巴赫车主14 小时前
优先队列(PriorityQueue)
数据结构·算法
hai31524754314 小时前
有规则的AI编制操作系统演进过程展示
人工智能·程序人生·算法·逻辑回归·创业创新
数据仓库搬砖人14 小时前
SHAP 详解:从博弈论原理到 XGBoost 实战
算法
老鱼说AI14 小时前
统计学习方法第七章:支持向量机精讲(超硬核长文深入预警!)
人工智能·深度学习·神经网络·算法·机器学习·支持向量机·学习方法
容器魔方14 小时前
KubeEdge SIG AI: 基于KubeEdge-Ianvs的大模型联邦微调算法
大数据·人工智能·算法·云原生·容器·云计算