summaryrefslogtreecommitdiff
path: root/src/bin/p0001.rs
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-08-08 00:27:50 +0800
committerMistivia <i@mistivia.com>2025-08-08 00:28:56 +0800
commit4ef4fa061cafffb69b9189915f2e223133ecc7fd (patch)
tree968aac19e637bb86629a7e5d9ad1431173fce72c /src/bin/p0001.rs
two sum
Diffstat (limited to 'src/bin/p0001.rs')
-rw-r--r--src/bin/p0001.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bin/p0001.rs b/src/bin/p0001.rs
new file mode 100644
index 0000000..70128c9
--- /dev/null
+++ b/src/bin/p0001.rs
@@ -0,0 +1,25 @@
+use std::collections::HashMap;
+
+struct Solution {}
+impl Solution {
+ pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
+ let mut num_map : HashMap<i32, usize> = HashMap::new();
+
+ let mut i:usize = 0;
+ loop {
+ let index = target - nums[i];
+ match num_map.get(&index) {
+ Some(j) => break vec![i as i32, *j as i32],
+ None => {
+ num_map.insert(nums[i], i);
+ i = i + 1;
+ continue;
+ }
+ }
+ }
+ }
+}
+
+fn main() {
+ println!("{:?}", Solution::two_sum(vec![2, 7, 11, 15], 9));
+} \ No newline at end of file