leet
This commit is contained in:
commit
62dac3d66b
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/target
|
||||||
|
/.idea
|
||||||
7
Cargo.lock
generated
Normal file
7
Cargo.lock
generated
Normal file
@ -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"
|
||||||
6
Cargo.toml
Normal file
6
Cargo.toml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "leetcode"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
86
src/main.rs
Normal file
86
src/main.rs
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
|
||||||
|
use std::collections::HashMap;
|
||||||
|
//
|
||||||
|
// fn bs(arr: &Vec<i32>, t: i32, left: usize, right: usize) -> Option<usize> {
|
||||||
|
//
|
||||||
|
// 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<i32>, target: i32) -> Option<usize> {
|
||||||
|
// bs(nums, target, 0, nums.len())
|
||||||
|
// }
|
||||||
|
|
||||||
|
fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
|
||||||
|
|
||||||
|
let mut hash: HashMap<i32, Vec<usize>> = 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::<String>().unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
println!("{:?}", two_sum(vec![3,2,4], 6));
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user