LeetCode中如何解决两数之和输入有序数组的问题
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,小编给大家分享一下LeetCode中如何解决两数之和输入有序数组的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!0x01,问题简述给定一个已按照升序排列 的有序数组,找到两个数使
千家信息网最后更新 2024年11月19日LeetCode中如何解决两数之和输入有序数组的问题
小编给大家分享一下LeetCode中如何解决两数之和输入有序数组的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
0x01,问题简述
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
说明:
返回的下标值(index1 和 index2)不是从零开始的。
你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。
'0x02,示例
示例:
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
0x03,题解思路
本题使用双指针的思路进行解决
0x04,题解程序
public class TwoSumTest3 {
public static void main(String[] args) {
int[] numbers = {2, 7, 11, 15};
int target = 9;
int[] twoSum = twoSum(numbers, target);
for (int num : twoSum
) {
System.out.print(num + "\t");
}
}
public static int[] twoSum(int[] numbers, int target) {
if (numbers == null || numbers.length == 0) {
return new int[0];
}
int i = 0;
int j = numbers.length - 1;
while (i < j) {
if (numbers[i] + numbers[j] == target) {
return new int[]{i+1, j+1};
} else if (numbers[i] + numbers[j] < target) {
i++;
} else if (numbers[i] + numbers[j] > target) {
j--;
}
}
return new int[]{-1, -1};
}
}
0x05,题解程序图片版
看完了这篇文章,相信你对"LeetCode中如何解决两数之和输入有序数组的问题"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
之和
输入
有序
数组
问题
题解
两个
思路
标值
目标
示例
程序
篇文章
相同
元素
函数
升序
图片
完了
指针
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目经理考核表
大龄转行网络安全还是运维
面试银行软件开发问题
网络技术女尖兵
青岛领智网络技术有限公司电话
cbmdisc数据库
群晖服务器设置时间
可靠的云手机服务器托管
数据库附加恢复数据
html不刷新更新数据库
我的世界服务器的麦克风
服务器机柜维修哪家便宜
新维度网络技术有限公司
软件开发与维护英语
军油工程依托网络技术
海南盘古网络技术有限公司
遂平网络安全宣传周
河南全球卫星时钟服务器云主机
两台手机转移数据库
临沧网络安全检查
麒麟系统如何设置自动备份数据库
天津服务器防篡改软件云空间
数据库建设需要入什么财务科目
计算机网络 服务器
飞卢服务器升级
putty管理多台服务器
创意网络安全句子
服务器怎么设置中心
长岛游戏软件开发外包公司
软件开发 前置审批手续