LeetCode1. 两数之和Java实现

题目内容:
image
双重遍历:找到两个和为目标值的元素,返回元素下标

class Solution {
    public int[] twoSum(int[] nums, int target) {
        for(int i=0;i<nums.length;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i]+nums[j]==target){
                    return new int[]{i,j};
                }
            }
        }
        return null;
    }
}

更简单的哈希表查询

class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        //key存放数组元素,value存放数组元素下标
        //当目标元素与当前元素的差值在map中,返回当前元素下标
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target - nums[i])) {
                return new int[]{map.get(target - nums[i]), i};
            }
            map.put(nums[i], i);
        }
        return null;
    }
}

posted @ 2026-04-17 20:28  mwhB  阅读(9)  评论(0)    收藏  举报