commit 62dac3d66b5486a84aa15fa5c4af5426100dda26 Author: Timothy Kim Date: Mon Nov 24 19:36:21 2025 -0500 leet diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d81f12e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +/.idea diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..8779c0d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "leetcode" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..884c0d3 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "leetcode" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..200c95a --- /dev/null +++ b/src/main.rs @@ -0,0 +1,86 @@ + +use std::collections::HashMap; +// +// fn bs(arr: &Vec, t: i32, left: usize, right: usize) -> Option { +// +// let m: usize = left + ((right - left) / 2); +// let mid = arr[m]; +// +// match mid.cmp(&t) { +// Ordering::Less => if m + 1 == arr.len() { None } else { bs(arr, t, m + 1, right) }, +// Ordering::Equal => Some(m), +// Ordering::Greater => if m == 0 { None } else { bs(arr, t, left, m - 1) }, +// } +// } +// +// fn binary_search(nums: &Vec, target: i32) -> Option { +// bs(nums, target, 0, nums.len()) +// } + +fn two_sum(nums: Vec, target: i32) -> Vec { + + let mut hash: HashMap> = HashMap::new(); + + for (i, n) in nums.iter().enumerate() { + hash.entry(*n).or_insert(Vec::new()).push(i); + } + + for (i, n) in nums.iter().enumerate() { + let key = target - n; + match hash.get(&key) { + None => {} + Some(v) => { + match v.iter().find(|&&x| x != i) { + None => { + //error + } + Some(j) => { + return vec![i as i32, *j as i32]; + } + } + } + } + } + + //error + vec![] +} + + +fn longest_palindrome(s: String) -> String { + let len = s.len(); + let mut m = vec![vec![false; len]; len]; + + + /* + 0 1 2 3 4 + 0 1 + 1 2 + 2 3 + 3 4 + 4 5 + + 0 0 + 1 1 + 2 2 + 0 1 + 1 2 + 0 2 + + */ + + for x in 0..len { + let n = len - x; + for i in 0..n { + + } + } + + + " ".parse::().unwrap() +} + +fn main() { + println!("Hello, world!"); + println!("{:?}", two_sum(vec![3,2,4], 6)); +}