8000 longest increasing subsequence · jhideki/rust_leetcode@602d389 · GitHub
[go: up one dir, main page]

Skip to content

Commit 602d389

Browse files
committed
longest increasing subsequence
1 parent c7ebef0 commit 602d389

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/longest_inc_sub.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
pub struct Solution {}
2+
impl Solution {
3+
pub fn length_of_lis(nums: Vec<i32>) -> i32 {
4+
let mut mem = vec![0; nums.len()];
5+
mem[nums.len() - 1] = 1;
6+
let mut res = 0;
7+
for i in (0..nums.len() - 1).rev() {
8+
mem[i] = mem
9+
.iter()
10+
.enumerate()
11+
.filter(|&(x, _)| nums[x] > nums[i] && x > i)
12+
.map(|(_, &x)| x + 1)
13+
.max()
14+
.unwrap_or(1)
15+
.clone();
16+
17+
res = std::cmp::max(res, mem[i]);
18+
}
19+
std::cmp::max(res, 1)
20+
}
21+
}

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
mod word_break;
1+
mod longest_inc_sub;
22
fn main() {}

0 commit comments

Comments
 (0)
0