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
相关推荐
灵感__idea1 小时前
Hello 算法:“走一步看一步”的智慧
前端·javascript·算法
lwf0061643 小时前
导数学习日记
学习·算法·机器学习
头发够用的程序员4 小时前
从滑动窗口到矩阵运算:img2col算法基本原理
人工智能·算法·yolo·性能优化·矩阵·边缘计算·jetson
武帝为此4 小时前
【数据清洗缺失值处理】
python·算法·数学建模
Halo_tjn5 小时前
Java 基于字符串相关知识点
java·开发语言·算法
念越5 小时前
算法每日一题 Day08|双指针法解决三数之和
算法·力扣
黎阳之光5 小时前
黎阳之光透明管理:视频孪生重构智慧仓储新范式
人工智能·算法·安全·重构·数字孪生
6Hzlia5 小时前
【Hot 100 刷题计划】 LeetCode 199. 二叉树的右视图 | C++ DFS 逆序遍历
c++·leetcode·深度优先
CappuccinoRose6 小时前
回溯法 - 软考备战(四十三)
算法·排列组合·路径·n皇后·子集·解数独·岛屿
AC赳赳老秦6 小时前
OpenClaw进阶技巧:批量修改文件内容、替换关键词,解放双手
java·linux·人工智能·python·算法·测试用例·openclaw