2 条题解

  • 0
    @ 2025-10-8 17:00:04

    题目名称:假设题目名称

    假设题目描述:假设题目描述内容,例如:给定一个整数数组 nums 和一个目标值 target,找出数组中和为目标值的两个数的下标。

    解题思路:

    假设解题思路,例如:使用哈希表存储已遍历元素及其索引,遍历数组时计算目标差值,若差值存在于哈希表中则返回结果,否则存入当前元素。

    代码实现:

    #include <iostream>
    #include <vector>
    #include <unordered_map>
    
    using namespace std;
    
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> numMap;
        for (int i = 0; i < nums.size(); ++i) {
            int complement = target - nums[i];
            if (numMap.find(complement) != numMap.end()) {
                return {numMap[complement], i};
            }
            numMap[nums[i]] = i;
        }
        return {}; // 题目保证有解,此处仅为占位
    }
    
    int main() {
        vector<int> nums = {2, 7, 11, 15};
        int target = 9;
        vector<int> result = twoSum(nums, target);
        cout << result[0] << " " << result[1] << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    2126
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    50
    已通过
    12
    上传者