当前位置: 首页 > news >正文

算法006——和为S 的两个数

力扣——查找总价格为目标值的两个商品点击跳转
在这里插入图片描述
注意题目中的关键信息升序
我们利用双指针,不管 target 是多少,让一个指针指向最小值,让一个指针指向最大
那么,共有三种情况
在这里插入图片描述
我们首先遇到的是第二种情况

  1. sum < target
    left 与最大值相加都小于 target ,此时中间的数都小于 right,那么 left 无论与中间的哪个数相加,都是小于 target 的 ,此时 left 是没用的,让 left ++
    在这里插入图片描述

  2. sum > target
    right 与最小值相加都大于 target,此时中间的数都大于 left ,那么 right 无论与中间的哪个数相加 都会大于 target ,此时 right 是没用的,让 right –
    在这里插入图片描述

  3. sum = target
    在这里插入图片描述
    代码如下

class Solution {
    public int[] twoSum(int[] price, int target) {
        int left = 0;
        int right = price.length - 1;
        while(left < right){
            if(price[left] + price[right]> target){
                right--;
            }else if(price[left] + price[right] < target){
                left++;
            }else{
                int[] arr = new int[]{price[left],price[right]};
                return arr;
            }
        }
        return new int[]{0}; //力扣编译器认为上面的返回值只有else情况才能满足,所以为了照顾编译器,这里要有一个返回值
    }
}

完成!
在这里插入图片描述

相关文章:

  • 文档先行:构建软件开发的清晰认知体系
  • 从家用显卡到AI文生视频——Wan2.1本地部署教程与一键包分享
  • 电脑睡眠智能管控:定时、依状态灵活调整,多模式随心选
  • Go-知识-fmt
  • 模型微调-基于LLaMA-Factory进行微调的一个简单案例
  • c#财务软件专业版企业会计做账软件财务管理系统软件
  • 【技术白皮书】外功心法 | 第二部分 | 计算机运行原理(数据是用二进制数表示的)
  • MySQL索引下推
  • 共绘智慧升级,看永洪科技助力由由集团起航智慧征途
  • 买股票的最佳时机 - 1
  • TDengine 服务无法启动常见原因
  • 【2025小黑课堂】计算机二级WPS精选系列20G内容(可下载:真题+预测卷+软件+选择题)
  • Ubuntu虚拟机中使用QEMU搭建ARM64环境
  • 丰田凯美瑞灯光操作教程:详细开关指南
  • 【halcon】如何理解 halcon 中的domain 之 “区域被裁剪掉了!”
  • Javascript 数组
  • 电感类型性能参数对比
  • QGIS 3D地图制作全流程指南
  • LVGL直接解码png图片的方法
  • 【AD】5-13 特殊粘贴使用
  • 怎么样做外链推广网站/人工智能培训机构哪个好
  • 网商之窗麻将开挂/整站优化外包服务
  • 手机网站设计制作公司/优化是什么意思
  • 外贸用什么网站开发客户/网络推销
  • 做b2b2c商城网站/bt kitty磁力猫
  • asp动态网站开发课总结/汕头seo代理商