1、和一定时找数组中的两个数

本文解析了如何解决给定数组中寻找两个数使它们的和等于特定目标值的问题。通过双指针技术实现了高效的解决方案,并附带了完整的Java代码示例。

题目要求:

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

思路:

求和一定时,求两个数,就需要两个指针,两个指针一个大一个小不想等,首先让小的的指针不动,让大的指针向后移动,知道出现大于或者等于需要的和。等于时输出结果,小的指针向后移动一位;大于时小的指针向后移动出现大于等于需要的和。以此类推,得出结果。相当于一个逆向的“中值定理”。

代码:

public class one 
{
    
    public static void main(String[] args) 
{
    
    int[] nums = {1,2,3,4,5,6,7,8,9};
    int target = 10;
    for (int a=0;a<nums.length;a++)
    {
        for(int b=a+1;b<nums.length;b++)
      
       if (nums[a]+nums[b] == target)
          System.out.println("There have"+nums[a]+"and"+nums[b]+"="+target);
    
    }
}

}

 

转载于:https://www.cnblogs.com/lcxz/p/9038847.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值