2 条题解

  • 0
    @ 2025-10-8 16:52:45

    题目:两数之和

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

    示例
    输入:nums = [2,7,11,15], target = 9
    输出:[0,1]
    解释:因为 nums[0] + nums[1] == 9,返回 [0, 1]

    题解思路
    使用哈希表存储已遍历过的数字及其索引,遍历数组时计算当前数字与 target 的差值。若差值在哈希表中存在,则返回差值的索引和当前索引;否则将当前数字和索引存入哈希表。

    def twoSum(nums, target):
        num_map = {}  # 存储数字到索引的映射
        for i, num in enumerate(nums):
            complement = target - num  # 计算当前数字的补数
            if complement in num_map:
                return [num_map[complement], i]  # 找到补数,返回索引
            num_map[num] = i  # 未找到则存入哈希表
        return []  # 题目保证有解,此句可省略
    
    • 0
      @ 2025-10-8 16:52:35

      • 1

      【基于连通性状态压缩的动态规划问题】Manhattan Wiring[POJ3133]

      信息

      ID
      611
      时间
      5000ms
      内存
      64MiB
      难度
      10
      标签
      递交数
      6
      已通过
      2
      上传者