From b3afdb176c5457721a0fdebcfb08ddd6043642cf Mon Sep 17 00:00:00 2001 From: Adrien PELFRESNE <64414295+dirdr@users.noreply.github.com> Date: Sun, 10 Aug 2025 11:53:43 +0200 Subject: [PATCH 1/3] Create 0869_reordered_power_of_2.rs --- rust/medium/0869_reordered_power_of_2.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 rust/medium/0869_reordered_power_of_2.rs diff --git a/rust/medium/0869_reordered_power_of_2.rs b/rust/medium/0869_reordered_power_of_2.rs new file mode 100644 index 0000000..6cb4117 --- /dev/null +++ b/rust/medium/0869_reordered_power_of_2.rs @@ -0,0 +1,21 @@ +use std::collections::HashSet; + +impl Solution { + pub fn reordered_power_of2(n: i32) -> bool { + fn extract_digits(mut number: i32) -> [u8; 10] { + let mut digits = [0; 10]; + while number > 0 { + digits[number as usize % 10] += 1; + number /= 10; + } + digits + } + let mut set = HashSet::new(); + let mut curr = 1; + for i in 0..30 { + set.insert(extract_digits(curr)); + curr = curr << 1; + } + set.contains(&extract_digits(n)) + } +} From 247788239435f4d885dfa58f102d39d16c14cf47 Mon Sep 17 00:00:00 2001 From: Adrien PELFRESNE <64414295+dirdr@users.noreply.github.com> Date: Mon, 11 Aug 2025 09:06:50 +0200 Subject: [PATCH 2/3] Create 2438_range_product_queries_of_powers.rs --- .../2438_range_product_queries_of_powers.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rust/medium/2438_range_product_queries_of_powers.rs diff --git a/rust/medium/2438_range_product_queries_of_powers.rs b/rust/medium/2438_range_product_queries_of_powers.rs new file mode 100644 index 0000000..de4c397 --- /dev/null +++ b/rust/medium/2438_range_product_queries_of_powers.rs @@ -0,0 +1,18 @@ +impl Solution { + pub fn product_queries(n: i32, queries: Vec>) -> Vec { + const MODULO: i64 = 1_000_000_007; + let mut powers = vec![]; + for i in 0..32 { + if 1 & (n >> i) == 1 { + powers.push(2_i32.pow(i as u32)); + } + } + queries.iter().map(|q| { + let mut product = 1i64; + for i in q[0] as usize..=q[1] as usize { + product = (product * powers[i] as i64) % MODULO; + } + product as i32 + }).collect() + } +} From a412efc22eea29a66bdc46ce6cd876c5fdebb4ea Mon Sep 17 00:00:00 2001 From: Adrien PELFRESNE <64414295+dirdr@users.noreply.github.com> Date: Mon, 11 Aug 2025 09:15:19 +0200 Subject: [PATCH 3/3] Create 0455_assing_cookies.rs --- rust/easy/0455_assing_cookies.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rust/easy/0455_assing_cookies.rs diff --git a/rust/easy/0455_assing_cookies.rs b/rust/easy/0455_assing_cookies.rs new file mode 100644 index 0000000..80948c4 --- /dev/null +++ b/rust/easy/0455_assing_cookies.rs @@ -0,0 +1,18 @@ +impl Solution { + pub fn find_content_children(g: Vec, s: Vec) -> i32 { + let mut g = g; + let mut s = s; + g.sort_unstable_by(|a, b| b.cmp(&a)); + s.sort_unstable_by(|a, b| b.cmp(&a)); + let mut answer = 0; + let (mut i, mut j) = (0, 0); + while i < g.len() && j < s.len() { + if s[j] >= g[i] { + answer += 1; + j += 1; + } + i += 1; + } + answer + } +}