leetcode 1 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

利用哈希表查找效率完成优化

思路:在进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回。

时间复杂度: O(n)

空间复杂度: O(n)

cs 复制代码
public class Solution {
    public int[] TwoSum(int[] nums, int target) {
        Dictionary<int,int> dic = new Dictionary<int,int>();
        for(int i = 0; i < nums.Length; i++)
        {
            int ans = target - nums[i];
            if(dic.ContainsKey(ans) && dic[ans] != i)
            {
                return new int[] { i, dic[ans] };
            }
            if( !dic.ContainsKey(nums[i]) )
                dic.Add(nums[i],i);
        }
        return new int[] { 0, 0 };
    }
}
相关推荐
Ai多利1 分钟前
深度学习登上Nature子刊!特征选择创新思路
人工智能·算法·计算机视觉·多模态·特征选择
蒟蒻小袁40 分钟前
力扣面试150题--被围绕的区域
leetcode·面试·深度优先
Q8137574601 小时前
中阳视角下的资产配置趋势分析与算法支持
算法
yvestine1 小时前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
GalaxyPokemon2 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
iceslime2 小时前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
aichitang20243 小时前
矩阵详解:从基础概念到实际应用
线性代数·算法·矩阵
OpenCSG4 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源
chao_7894 小时前
链表题解——环形链表 II【LeetCode】
数据结构·leetcode·链表
dfsj660115 小时前
LLMs 系列科普文(14)
人工智能·深度学习·算法