博客
关于我
两数之和
阅读量:408 次
发布时间:2019-03-05

本文共 646 字,大约阅读时间需要 2 分钟。

双指针数法

给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。我们可以通过双指针技术来解决这个问题。

问题描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。数组中的每个元素只能使用一次。

算法思路:我们可以使用双指针技术来解决这个问题。具体步骤如下:

  • 初始化两个指针,分别指向数组的开头和末尾。
  • 如果两个指针指向元素的和等于目标数,则返回这两个元素的索引。
  • 如果两个指针指向元素的和大于目标数,则将末尾指针向左移动一位。
  • 如果两个指针指向元素的和小于目标数,则将开头指针向右移动一位。
  • 示例:输入:numbers = [2,7,11,15]目标数:9

    输出:[1,2]

    详细步骤:初始时,左指针指向索引0(元素2),右指针指向索引3(元素15)。

    • 2 + 15 = 17 > 9,右指针向左移动到索引2(元素11)。
    • 左指针继续向右移动到索引1(元素7)。
    • 7 + 11 = 18 > 9,右指针继续向左移动到索引1(元素7)。
    • 左指针和右指针现在都指向索引1,这意味着找到了两个数:7和7。但是由于数组中不能重复使用相同的元素,我们需要重新调整指针。

    最终,我们发现索引1(元素7)和索引2(元素11)满足条件,7 + 11 = 18 > 9。因此,我们需要继续寻找下一个可能的组合。

    通过上述步骤,我们最终找到索引1和索引2的元素,它们的和等于目标数。因此,返回索引数组 [1,2]。

    注:索引数组的索引是从1开始计算的,而不是从0开始。

    转载地址:http://gxwzz.baihongyu.com/

    你可能感兴趣的文章
    pptp拨号上网
    查看>>
    ppt上的倒计时小工具_PPT中有哪些「看似很 LOW,实则惊艳」的小工具
    查看>>
    PPT添加视频的路径问题
    查看>>
    PPT美化插件 islide 安装过程问题“加载com加载项时运行出现错误”
    查看>>
    Prefix Tuning:详细解读Optimizing Continuous Prompts for Generation
    查看>>
    PreparedStatement 与Statement 的区别,以及为什么推荐使用 PreparedStatement ?
    查看>>
    PreparedStatement 查询 In 语句 setArray 等介绍。
    查看>>
    presentModalViewController显示半透明的一个view
    查看>>
    PresentViewController切换界面
    查看>>
    PyTorch之torch.utils.data.DataLoader解读
    查看>>
    PyTorch之DataLoader杂谈
    查看>>
    presto、druid、sparkSQL、kylin的对比分析
    查看>>
    Presto分布式大数据查询引擎
    查看>>
    Presto架构及原理
    查看>>
    Presto(一)集群部署
    查看>>
    Presto(二)开启安全认证
    查看>>
    Pricing procedure Steps and Details in SAP MM (from SCN)
    查看>>
    Prim 算法在不同权重范围内的性能分析及其实现
    查看>>
    Primace 5.0软件与KEIL单片机软件联合在线仿真步骤
    查看>>
    Prime Distance
    查看>>