1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol video solution AI分析

双指针1:塔子哥的下标

前言

双指针算法概述

双指针算法(双指针技术)是一种在处理线性数据结构(如数组、链表)时常用的算法策略。它通过同时使用两个指针,以不同的方式遍历数据结构,从而优化时间复杂度或简化问题的解决过程。双指针算法广泛应用于各种经典问题,如数组排序、链表操作、字符串处理等。

双指针的常见类型

P14134.【双指针1】塔子哥的下标

    1000ms Tried: 158 Accepted: 74 Difficulty: 3
    算法与标签>双指针

题目描述:

给定一个排序数组 nums\text{nums}nums 和一个目标值 target\text{target}target,请你使用双指针的方法,找到数组中和为目标值的两个数,并返回它们的下标。保证只有一个解。

如果没有符合条件的两个数,返回 −1-1−1。

注意:

  • 数组中的下标是从 111 开始的,而不是从 000 开始。
  • 如果存在多个解,返回第一个满足条件的下标。

输入

  • 一个整数nnn,(1≤n≤105)(1 ≤ n ≤ 10^5)(1≤n≤105):表示数组的大小。
  • 一个长度为nnn的排序数组nums\text{nums}nums,(1≤nums[i]≤109(1 ≤ \text{nums}[i] ≤ 10^9(1≤nums[i]≤109,数组已按升序排列)。
  • 一个整数target\text{target}target,(1≤target≤2×109)(1 ≤ \text{target} ≤ 2 \times 10^9)(1≤target≤2×109),表示目标值。

输出

  • 如果找到两个数的和为目标值,返回这两个数的下标
  • 如果没有满足条件的两个数,返回 -1。

示例

示例 1:

输入:

4
2 7 11 15
9

输出:

1 2

解释:数组中的 2 和 7 的和等于目标值 9,它们的下标分别为 1 和 2。

示例 2:

输入:

3
1 2 3
6

输出:

-1

解释:数组中的数字没有两个数的和为目标值 6。

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 53ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?