leetcode 1.两数之和(重刷)

暴力解法:

python 复制代码
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums)-1):
            for j in range(i+1,len(nums)):
                if (nums[i]+nums[j]) == target:
                    return [i,j]
        


        

空间换时间:哈希表

python 复制代码
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        # 创建一个空字典,用来做"空间换时间"
        # 格式为 {数字: 这个数字对应的索引}
        hash_map = {}

        for i in range(len(nums)):
            current_num = nums[i]

            complement = target-nums[i]

            if complement in hash_map:
                return [hash_map[complement],i]
            
            hash_map[current_num] = i
相关推荐
旺仔.2912 小时前
八大排序:(三)快速排序
数据结构·c++·算法
北顾笙9802 小时前
day13-数据结构力扣
数据结构·算法·leetcode
ZoeJoy82 小时前
算法筑基(八):数学算法——程序背后的数理根基
算法·贪心算法·排序算法·动态规划·图搜索算法
查古穆2 小时前
堆-前 K 个高频元素
数据结构·算法·leetcode
啊哦呃咦唔鱼2 小时前
LeetCodehot100-23合并 K 个升序链表
算法
kobesdu2 小时前
laser_line_extraction线段提取开源功能包解读和使用例程
人工智能·算法·机器人·ros
abant22 小时前
leetcode 105 前序中序构建二叉树
算法·leetcode·职场和发展
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 438. 找到字符串中所有字母异位词 | C++ 滑动窗口题解
c++·算法·leetcode
生信研究猿2 小时前
leetcode 234.回文链表
python·leetcode·链表