两数之和

【链接】https://nanti.jisuanke.com/t/25
【题目】
给定一个数组 numberi,找到两个数,使得他们的和为一个给定的数值 target。
其中:number[index1]+number[index2] == target.
注意:indexx1必须小于indexx2且不能为0,假设每一组输入只有唯一的一组解
例如,对于数组[2,7,11,15]和target=9,indexx1的值为1,indexx2的值为2.
输入格式

第一行输入一个整数 n(1≤n≤500),接下来的两行分别输入 n 个整数组成的数组 numberi(0≤numberi≤1000) 和一个整数 target(0≤target≤1000)。

输出格式

输出一行由空格分隔的两个整数 index1 和 index2。注意,下标从 1 开始。
【代码实现】

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        int array[] = new int[num];
        for (int i = 0;i<num;i++) {
            array[i] = input.nextInt();
        }
        int target = input.nextInt();
        List<Integer> list = twoSum(array,target);
        for (int i = 0;i<list.size();i++) {
            System.out.print(list.get(i) +" ");
        }
        
    }

    private static List<Integer> twoSum(int[] array, int target) {

        
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0;i<array.length;i++) {
            for (int j = i+1;j<array.length;j++) {
                if (array[i] + array[j] == target) {
                    list.add(i+1);
                    list.add(j+1);
                }
            }
        }
        
    
        
        
        return list;
    }
    
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容