力扣1.两数之和(哈希表)

复制代码
class Solution {
    // 定义一个名为twoSum的方法,接收一个整数数组nums和一个整数target作为参数
    public int[] twoSum(int[] nums, int target) {
        // 创建一个HashMap,用于存储数组中的元素及其对应的索引
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        // 遍历数组nums
        for (int i = 0; i < nums.length; i++) {
            // 检查map中是否存在一个键值对,其键为target减去当前元素的值
            if (map.containsKey(target - nums[i])) {
                // 如果存在这样的键值对,返回一个包含两个索引的数组
                return new int[]{map.get(target - nums[i]), i};
            }
            // 将当前元素及其索引添加到map中
            map.put(nums[i], i);
        }
        // 如果没有找到满足条件的两个数,返回一个空数组
        return new int[0];
    }
}
相关推荐
Jerry2 小时前
LeetCode 459. 重复的子字符串
算法
海石4 小时前
1500分的题目,确实有实力,不过还是我略胜一筹
算法·leetcode
海石4 小时前
【记忆化搜索】条条大路通AC,走好适合你的那一条,走到后再考虑走得快
算法·leetcode
Jerry6 小时前
LeetCode 151. 反转字符串中的单词
算法
gugucoding7 小时前
31. 【C语言】堆栈与队列的实现
c语言·开发语言·数据结构·链表
ChaoZiLL8 小时前
我的数据结构3——链表(link list)
数据结构·链表
a1117769 小时前
LM 算法迭代过程动画演示(SLAM)
算法
头茬韭菜9 小时前
Context 的生死抉择:四层压缩、截断算法与 Session Memory
算法·ai
Jerry9 小时前
LeetCode 541. 反转字符串 II
算法
Jerry9 小时前
LeetCode 344. 反转字符串
算法