diff --git a/leetcode/1.rs b/leetcode/1.rs new file mode 100644 index 0000000..b278370 --- /dev/null +++ b/leetcode/1.rs @@ -0,0 +1,30 @@ +use std::collections::HashMap; + +impl Solution { + /// This function takes a vector of integers (`nums`) and an integer (`target`) as input. + /// It returns a vector of integers. + /// + /// # Arguments + /// + /// * `nums` - A vector of integers. + /// * `target` - An integer that represents the target sum. + /// + /// # Returns + /// + /// This function returns a vector of integers. + pub fn two_sum(nums: Vec, target: i32) -> Vec { + let mut map = HashMap::new(); + + for (i, &num) in nums.iter_mut().enumerate() { + let complement = target - num; + + if let Some(&index) = map.get(&complement) { + return vec![index as i32, i as i32]; + } + + map.insert(num, i); + } + + vec![] + } +}