# 1. Two Sum Difficulty: Easy ## Solution - C++ ```cpp= class Solution { public: std::vector<int> twoSum(std::vector<int>& nums, int target) { const auto nums_size = nums.size(); std::unordered_map<int, int> diff_map; for (size_t i = 0; i < nums_size; ++i) { const auto num = nums[i]; const auto &it = diff_map.find(num); if (it != map.end()) { std::vector<int> answer = {it->second, static_cast<int>(i)}; return answer; } diff_map[target - num] = static_cast<int>(i); } return std::vector<int>(); } }; ``` ## Result - C++ ## Solution - Rust ```rust= use std::collections::HashMap; impl Solution { pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> { let nums_len: usize = nums.len(); let mut diff_map:HashMap<i32, i32> = HashMap::new(); for i in 0..nums_len { let num = nums[i]; let x = diff_map.get(&num); if x != None { return vec![*x.unwrap(), i as i32]; } diff_map.insert(target - num, i as i32); } return vec![]; } } ``` ## Result - Rust Success Details Runtime: 0 ms, faster than 100.00% of Rust online submissions for Two Sum. Memory Usage: 2.5 MB, less than 20.97% of Rust online submissions for Two Sum. ###### tags: `LeetCode-Easy` `Rust` `C++`