p4-wip
This commit is contained in:
parent
62dac3d66b
commit
e51be1fb44
67
src/main.rs
67
src/main.rs
@ -46,41 +46,58 @@ fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
|
|||||||
vec![]
|
vec![]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn longest_palindrome(s: String) -> String {
|
fn longest_palindrome(s: String) -> String {
|
||||||
let len = s.len();
|
|
||||||
let mut m = vec![vec![false; len]; len];
|
|
||||||
|
|
||||||
|
let mut max = 0;
|
||||||
|
|
||||||
/*
|
for i in 0..s.len() {
|
||||||
0 1 2 3 4
|
let mut begin = i as i32;
|
||||||
0 1
|
let mut end = i as i32;
|
||||||
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 {
|
|
||||||
|
|
||||||
|
// while we hit the edge on either side
|
||||||
|
while begin < 0 || end == s.len() as i32 {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
" ".parse::<String>().unwrap()
|
|
||||||
|
|
||||||
|
"asdf".to_string()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn longest_palindrome_dp(s: String) -> String {
|
||||||
|
let len = s.len();
|
||||||
|
let mut m = vec![vec![false; len]; len];
|
||||||
|
let mut max = 0;
|
||||||
|
let mut max_start = 0;
|
||||||
|
|
||||||
|
for cl in 1..=len {
|
||||||
|
for i in 0..=(len - cl) {
|
||||||
|
let j = i + cl - 1;
|
||||||
|
|
||||||
|
println!("{},{}", i , j);
|
||||||
|
|
||||||
|
if cl == 1 {
|
||||||
|
m[i][j] = true;
|
||||||
|
} else if cl == 2 {
|
||||||
|
m[i][j] = s.chars().nth(i).unwrap() == s.chars().nth(j).unwrap();
|
||||||
|
} else {
|
||||||
|
m[i][j] = s.chars().nth(i).unwrap() == s.chars().nth(j).unwrap() && m[i+1][j-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if m[i][j] && cl > max {
|
||||||
|
max = cl;
|
||||||
|
max_start = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
s.get(max_start..max_start+max).unwrap().to_string()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Hello, world!");
|
println!("Hello, world!");
|
||||||
println!("{:?}", two_sum(vec![3,2,4], 6));
|
println!("{}", longest_palindrome("abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababa".to_string()));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user