diff --git a/two-sum/DaleSeo.rs b/two-sum/DaleSeo.rs new file mode 100644 index 0000000000..6803aa8ff0 --- /dev/null +++ b/two-sum/DaleSeo.rs @@ -0,0 +1,17 @@ +use std::collections::HashMap; + +// TC: O(n) +// SC: O(n) +impl Solution { + pub fn two_sum(nums: Vec, target: i32) -> Vec { + let mut indices = HashMap::new(); + for (i, &num) in nums.iter().enumerate() { + let complement = target - num; + if let Some(&j) = indices.get(&complement) { + return vec![j as i32, i as i32]; + } + indices.insert(num, i); + } + vec![] + } +}