算法通关村番外篇-LeetCode热题100系列一

发布时间:2024年01月05日

大家好我是苏麟 , 今天开始出这个LeetCode热题100系列 .

LeetCode热题100 , 是LeetCode的热门题目也是面试比较爱考的 .

大纲

两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

LeetCode 两数之和 :

在这里插入图片描述

代码 :

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] res = new int[2];
        //讨论特殊情况
        if (nums == null || nums.length == 0) {
            return res;
        }
        //使用一个Map来记录数组的值和索引值
        Map<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            //定义一个临时变量
            int temp = target  - nums[i];
            //更新res数组
            if (map.containsKey(temp)){
                res[0] = i;
                res[1] = map.get(temp);
                break;//结束循环
            }
            map.put(nums[i],i);
        }
        return res;
    }
}

这期就到这里 , 下期见!

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