LeetCode刷题---两数之和

2024-01-08 15:34:49

在这里插入图片描述

解题思路:
该题使用哈希表的思想解决该问题
首先定义一个Map,key为数组中的每个元素,value为每个元素的索引下标。接着遍历原数组,对每一个元素进行判断,如果哈希表中包含target-nums[i],则将其value和当前下标封装到一个数组中返回,如果不包含target-nums[i],则将target-nums[i]作为key,i作为value加入到Map中。

代码实现:

ublic int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
        for (int i = 0; i < nums.length; ++i) {
            if (hashtable.containsKey(target - nums[i])) {
                return new int[]{hashtable.get(target - nums[i]), i};
            }
            hashtable.put(nums[i], i);
        }
        return new int[0];
    }

文章来源:https://blog.csdn.net/weixin_47109902/article/details/135457579
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。