Java数组中找出两个相加等于某个值的数据下标

public class Solution2 {

    public static void main(String[] args) {
        int[] nums = {7,1,3,2,11,34,6,9,32,8};
        int target = 13;
        // 结果数组
        HashMap map = new HashMap();
        for (int i = 0; i < nums.length; i++) {
            map.put(nums[i], i);
        }
        for (int i = 0; i < nums.length; i++) {
            int two = target - nums[i];
            // 如果存在第二个数的数组下标&&结果的两个数不是同一个数的值
            if (map.containsKey(two) && target != 2 * two) {
                // 返回找到的两个数的数组下标
                System.out.println(i+" & "+ map.get(two));
            }
        }
    }
}

 

你可能感兴趣的:(java基础)