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

力扣-两数之和

1.题目描述

2.题目链接

LCR 006. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 

3.题目代码

class Solution {public int[] twoSum(int[] numbers, int target) {int[]ret=new int[2];int left=0,right=numbers.length-1;while(left<right){if(numbers[left]+numbers[right]>target){right--;}else if(numbers[left]+numbers[right]<target){left++;}else{ret[0]=left;ret[1]=right;return ret;}}return ret;}
}

4.解题思路

 这道题的解题思路也是用双指针来解决的。

1).定义双指针

我们定义指针left为数组的最左边,指针right是数组的最右边。

2).利用单调性移动双指针

numbers[left]+numbers[right]>target时,不等式要想成立左边就需要减小,而numbers[left]已经是最小值,所以只能numbers[right]减小,也就是right--

numbers[left]+numbers[right]<target时,不等式要想成立左边就需要增大,而numbers[right]已经是最大值,所以只能numbers[left]增大,也就是left++

numbers[left]+numbers[right]=target时,不等式成立,将left和right这两个元素下标填入结果数组ret中,返回ret即可。

 

http://www.xdnf.cn/news/8004.html

相关文章:

  • 鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
  • 安卓基础(代码解析)
  • YOLO11解决方案之VisonEye对象映射
  • 利用 Java 爬虫根据关键词获取某手商品列表
  • 人工智能应用时代:个人成长与职业突围的底层逻辑
  • 黑马+点评常见问题
  • 配电网运行状态综合评估方法研究
  • API测试框架全解析
  • 咽拭子+病毒采样管助力多项呼吸道病原体核酸检测!
  • 2025第一届轩辕杯--Crypto--WriteUp
  • 【Netty】- 入门1
  • 可理解性输入:逛超市
  • git合并多次commit提交
  • RK3588+CODESYS+望获实时Linux - 软PLC运动控制解决方案
  • 回归分析(线性/非线性)
  • docker常用指令
  • 自制操作系统day6(GDTR、段描述符、PIC、实模式和保护模式、16位到32位切换、中断处理程序、idt的设定、EFLAG寄存器)(ai辅助整理)
  • JVM梳理(逻辑清晰)
  • 为何天线的长度设计为频率波长的四分之一?
  • TurboID技术:邻近标记技术的高效工具
  • Mujoco 学习系列(三)机器人状态IO与仿真操作
  • android RecyclerView列表DiffCallback说明
  • UI自动化测试框架:PO模式+数据驱动
  • 【面试题】Session 和 Cookie 的区别
  • 在Windows上安装Pygame 2.1.3:解决常见问题
  • CountDownLatch设计原理剖析:同步屏障的底层逻辑
  • 网络 :网络基础【网络框架认识】
  • DPDK 技术详解:榨干网络性能的“瑞士军刀”
  • 英伟达CEO黄仁勋COMPUTEX 2025演讲实录:AI工厂时代已来,Blackwell架构全面投产
  • 【Spring Boot】配置实战指南:Properties与YML的深度对比与最佳实践