From e3b075b54e81128b958b3bcb456ac9a927cafb3c Mon Sep 17 00:00:00 2001 From: SherlockGy Date: Thu, 27 Jan 2022 21:43:15 +0800 Subject: [PATCH 1/4] Update README.md add rust solution for two_sum --- solution/0000-0099/0001.Two Sum/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/solution/0000-0099/0001.Two Sum/README.md b/solution/0000-0099/0001.Two Sum/README.md index dca028c9c9267..039abc5348510 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] = ``` +### **Nim** + +```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!() +} +``` + ### **...** ``` From 4dd05326d0f2ffc686be7ec9ea750613f35d8a48 Mon Sep 17 00:00:00 2001 From: SherlockGy Date: Thu, 27 Jan 2022 21:43:37 +0800 Subject: [PATCH 2/4] Update README.md --- solution/0000-0099/0001.Two Sum/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0000-0099/0001.Two Sum/README.md b/solution/0000-0099/0001.Two Sum/README.md index 039abc5348510..248969e2c1b6b 100644 --- a/solution/0000-0099/0001.Two Sum/README.md +++ b/solution/0000-0099/0001.Two Sum/README.md @@ -183,7 +183,7 @@ proc twoSum(nums: seq[int], target: int): seq[int] = ``` -### **Nim** +### **Rust** ```rust use std::collections::HashMap; From ec5dd17554dbea17e6e2af6f77117cf8474a5902 Mon Sep 17 00:00:00 2001 From: SherlockGy Date: Fri, 28 Jan 2022 00:11:38 +0800 Subject: [PATCH 3/4] Update README_EN.md add Rust solution for two_sum --- solution/0000-0099/0001.Two Sum/README_EN.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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!() +} +``` + ### **...** ``` From 9f7cf314c573c04d577a48e0785265383f70acc3 Mon Sep 17 00:00:00 2001 From: SherlockGy Date: Fri, 28 Jan 2022 00:13:09 +0800 Subject: [PATCH 4/4] Create Solution.rs add Rust solution for two_sum --- solution/0000-0099/0001.Two Sum/Solution.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 solution/0000-0099/0001.Two Sum/Solution.rs 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!() +}