LeetCode热题100-两数之和

Python3实现:

  • 暴力解法:时间复杂度n2,空间复杂度1
python 复制代码
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        if not nums and len(nums) > 2:
            raise Exception("输入数据格式有误!")
        length = len(nums)
        for i, num in enumerate(nums):
            for j in  range(i + 1, length):
                if nums[i] + nums[j] == target:
                    return [i, j]
        return []

关注点:range为左闭右开,enumerate可以设定索引开始值。

  • hash方法:时间复杂度n,空间复杂度n
python 复制代码
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        if not nums and len(nums) > 2:
            raise Exception("输入数据格式有误!")
        des_dict = {}
        for i in range(len(nums)):
            dif = target - nums[i]
            if dif in des_dict.keys():
                return [des_dict[dif], i]
            des_dict[nums[i]] = i
        return []   

这种算是哈希表的变形实现,使用了字典当作hash表。

相关推荐
灵智实验室几秒前
PX4状态估计技术EKF2详解(六):EKF2 磁力计融合——从航向修正到 3D 姿态约束
算法·无人机·px 4
JieE2123 分钟前
手把手带你用虚拟头节点实现单链表,搞定所有边界问题
javascript·算法
搞科研的小刘选手27 分钟前
【大连市计算机学会主办】第三届图像处理、智能控制与计算机工程国际学术会议(IPICE 2026)
图像处理·人工智能·深度学习·算法·计算机·数据挖掘·智能控制
人月神话-Lee30 分钟前
【图像处理】高斯模糊——最优雅的模糊算法
图像处理·人工智能·算法·ios·ai编程·swift
大熊背41 分钟前
双目拼接竖缝消除(ISP 分区锐化实操方案) 优化方案
人工智能·算法·双目拼接
_日拱一卒1 小时前
LeetCode:105从前序与中序遍历序列构造二叉树
算法·leetcode·职场和发展
MicroTech20251 小时前
微算法科技(NASDAQ :MLGO)发布基于NEQR技术的新型量子视频处理算法,重构智能视觉底层逻辑
科技·算法·音视频
techdashen1 小时前
Async Rust 近况补课:从 `async-trait` 到原生 async trait
网络·算法·rust
一行代码一行诗++1 小时前
循环的嵌套
数据结构·算法
天真小巫1 小时前
六年之约-2026.5.22
职场和发展