#include #include <unordered_map>

class Solution { public: std::vector twoSum(std::vector& nums, int target) { std::unordered_map<int, int> map; for (auto [i, num] : nums | std::ranges::views::enumerate) { auto it = map.find(target - num); if (it != map.end()) { return {it->second, i}; } map[num] = i; } return {}; } };

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

原文地址: https://www.cveoy.top/t/topic/sRr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录