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

题目要求:

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

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

思路:

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

代码:

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);
    
    }
}

}

 

posted @ 2018-05-15 00:11  浪川宣哲  阅读(141)  评论(0编辑  收藏  举报