
leetcode题解167-两数之和 II - 输入有序数组
初始化双指针: 设置指针i和j,分别指向数组的起点和终点。 循环条件: 直到i小于j为止。 计算和: 每次循环计算i和j所指向的元素的和。 判断和的大小: 返回结果: 可能在循环中找到匹配的数对,直接返回结果。 双指针初始化: i从数组起点(0),j从终点(数组长度-1)。 循环进行: 检查i是否小于j,如果超过则解出。 计算两数和: 与目标值对比,决定移动i或j。 找到匹配对: 一旦找到符合条件的数对,保存并返回结果。
发布日期:2025-04-05 05:13:57
浏览次数:10
分类:精选文章
本文共 1216 字,大约阅读时间需要 4 分钟。
为了找到已经按照升序排列的数组中两个数,使它们的和等于给定的目标数,并返回这两个数的下标(从1开始且下标i小于j),可以使用双指针法。这种方法能在O(n)时间复杂度内完成任务,高效且方便。
Algorithm Explanation:
- 如果和等于目标数,记录i和j的值并返回它们的下标(加1)。
- 如果和小于目标数,向右移动i,使和增大。
- 如果和大于目标数,向左移动j,使和减小。
Sample Example:
给定数组 numbers = [2,7,11,15]
,目标 target = 9
。
- 指针i开始于0,指针j开始于3。
- 计算2 + 15 = 17 > 9,j移动到2。
- 计算2 + 11 = 13 > 9,j移动到1。
- 计算2 + 7 = 9,符合目标,返回下标1和2。
Code Implementation:
class Solution { public int[] twoSum(int[] numbers, int target) { int i = 0, j = numbers.length - 1; int[] results = new int[2]; while (i < j) { int sum = numbers[i] + numbers[j]; if (sum == target) { results[0] = i; results[1] = j; return results; } else if (sum < target) { i++; } else { j--; } } return results; }}
Steps:
优点:
- 高效性: 时间复杂度为O(n),因为每个数字最多被处理一次。
- 简单易懂: 简单的逻辑,只需两指针移动。
- 利用排序: 利用数组已排序的特性,使得复杂度最优。
总结:
使用双指针法在O(n)时间内解决两数之和问题,特别适用于已排序数组。这一算法简洁高效,易于实现且理解。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月26日 17时37分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leaflet动态热力图分析(leaflet篇.16)
2025-04-04
leaflet动态热力图(大数据版)(leaflet篇.17)
2025-04-04
leaflet区域聚合点(点击后散开并进行合理定位)(leaflet篇.22)
2025-04-04
leaflet叠加geojson图层(leaflet篇.38)
2025-04-04
leaflet叠加geojson图层(挖洞)(leaflet篇.43)
2025-04-04
leaflet叠加多个面(面的数据结构)(leaflet篇.62)
2025-04-04
leaflet图标跳动(leaflet篇.45)
2025-04-04
leaflet地图无级别缩放(移动端)(leaflet篇.76)
2025-04-04
leaflet实现wms服务面要素可点击(leaflet篇.30)
2025-04-04
Leaflet快速入门与加载OSM显示地图
2025-04-04
leaflet接入geoserver发布的热力图服务(leaflet篇.29)
2025-04-04
leaflet接入土地资源(leaflet篇.55)
2025-04-04
leaflet接入天地图(经纬度投影256)(leaflet篇.24)
2025-04-04
leaflet点采集与点编辑(leaflet篇.5)
2025-04-04
leaflet聚合图(leaflet篇.11)
2025-04-04
leaflet聚合图(大数据版)(leaflet篇.19)
2025-04-04
leaflet自定义地图样式地图(插件实现)(leaflet篇.18)
2025-04-04
leaflet虚线(leaflet篇.60)
2025-04-04
leaflet蜂巢图(leaflet篇.15)
2025-04-04