summaryrefslogtreecommitdiff
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
two sum
-rw-r--r--.gitignore1
-rw-r--r--Cargo.lock7
-rw-r--r--Cargo.toml6
-rw-r--r--src/bin/p0001.rs25
-rw-r--r--src/main.rs3
5 files changed, 42 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 0000000..d5eb8a3
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,7 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "leetcode"
+version = "0.1.0"
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..dedfbd3
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "leetcode"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
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
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..e7a11a9
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+ println!("Hello, world!");
+}