From 4b50c18101c0b027809bdc3836d4691a8d5dd60b Mon Sep 17 00:00:00 2001 From: lucasarano <124523402+lucasarano@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:19:28 -0500 Subject: [PATCH] Added 300 --- rust/0300-longest-increasing-subsequence.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 rust/0300-longest-increasing-subsequence.rs diff --git a/rust/0300-longest-increasing-subsequence.rs b/rust/0300-longest-increasing-subsequence.rs new file mode 100644 index 000000000..417e5fe49 --- /dev/null +++ b/rust/0300-longest-increasing-subsequence.rs @@ -0,0 +1,19 @@ +impl Solution { + pub fn length_of_lis(nums: Vec) -> i32 { + let mut tails = vec![]; + + for &num in &nums { + match tails.binary_search(&num) { + Ok(_) => {}, + Err(i) => { + if i == tails.len() { + tails.push(num); + } else { + tails[i] = num; + } + } + } + } + tails.len() as i32 + } +} \ No newline at end of file