龙空技术网

Java 两数之和 算法 逻辑思维

启明v五宝 90

前言:

如今我们对“java输入两个整数求之间的和怎么输入”大约比较注意,兄弟们都需要分析一些“java输入两个整数求之间的和怎么输入”的相关知识。那么小编在网摘上网罗了一些对于“java输入两个整数求之间的和怎么输入””的相关文章,希望看官们能喜欢,我们一起来了解一下吧!

/**     * 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。     * 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。     * 你可以按任意顺序返回答案。     *     * 示例1     * 输入:nums = [2,7,11,15], target = 9     * 输出:[0,1]     * 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]     *     * 示例2     * 输入:nums = [3,2,4], target = 6     * 输出:[1,2]     */    public static int[] twoSum(int[] nums, int target) {        // 1.理清思维,确定目标点:两数之和为固定值,每个元素只能用一次        // 2.循环所有数据        // 3.定义map:map的key是唯一的,确保数据使用一次        Map<Integer, Integer> map = new HashMap<>();        for(int i= 0; i< nums.length; i++){            // 当满足的值包含在内的话直接返回            if(map.containsKey(nums[i])){                return new int[]{map.get(nums[i]), i};            }            //            // 此处思维相当于9-2=7            // 存所需要的数据7为key,同时记录2的下标            // 当i=2时,我们需要7,这个时候先确认2的下标并记录            map.put(target-nums[i], i);        }        return null;    }    public static void main(String[] args) {        int[] nums = new int[]{2, 7, 11, 15};        int target = 9;        int[] ints = twoSum(nums, target);        for (int anInt : ints) {            System.out.println(anInt);        }    }

欢迎大家提议、分享、交流、共同学习进步

标签: #java输入两个整数求之间的和怎么输入 #java 逻辑与