diff --git a/solution/0000-0099/0001.Two Sum/README.md b/solution/0000-0099/0001.Two Sum/README.md index dca028c9c9267..248969e2c1b6b 100644 --- a/solution/0000-0099/0001.Two Sum/README.md +++ b/solution/0000-0099/0001.Two Sum/README.md @@ -183,6 +183,25 @@ proc twoSum(nums: seq[int], target: int): seq[int] = ``` +### **Rust** + +```rust +use std::collections::HashMap; + +pub fn soluation(nums: Vec, target: i32) -> Vec { + let mut map = HashMap::new(); + for (i, item) in nums.iter().enumerate() { + if map.contains_key(item) { + return vec![i as i32, map[item]]; + } else { + let x = target - nums[i]; + map.insert(x, i as i32); + } + } + unreachable!() +} +``` + ### **...** ``` diff --git a/solution/0000-0099/0001.Two Sum/README_EN.md b/solution/0000-0099/0001.Two Sum/README_EN.md index 7f6f5ec999211..a7795c5e0cfbf 100644 --- a/solution/0000-0099/0001.Two Sum/README_EN.md +++ b/solution/0000-0099/0001.Two Sum/README_EN.md @@ -169,6 +169,25 @@ proc twoSum(nums: seq[int], target: int): seq[int] = ``` +### **Rust** + +```rust +use std::collections::HashMap; + +pub fn soluation(nums: Vec, target: i32) -> Vec { + let mut map = HashMap::new(); + for (i, item) in nums.iter().enumerate() { + if map.contains_key(item) { + return vec![i as i32, map[item]]; + } else { + let x = target - nums[i]; + map.insert(x, i as i32); + } + } + unreachable!() +} +``` + ### **...** ``` diff --git a/solution/0000-0099/0001.Two Sum/Solution.rs b/solution/0000-0099/0001.Two Sum/Solution.rs new file mode 100644 index 0000000000000..5a0d01ee0c4cb --- /dev/null +++ b/solution/0000-0099/0001.Two Sum/Solution.rs @@ -0,0 +1,14 @@ +use std::collections::HashMap; + +pub fn soluation(nums: Vec, target: i32) -> Vec { + let mut map = HashMap::new(); + for (i, item) in nums.iter().enumerate() { + if map.contains_key(item) { + return vec![i as i32, map[item]]; + } else { + let x = target - nums[i]; + map.insert(x, i as i32); + } + } + unreachable!() +}