From 319fed1511ce042ebb9970cd2ab46f97d0b9b7f4 Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Wed, 15 May 2024 12:44:37 -0700 Subject: [PATCH] zipping iterators is slower but uses less memory. --- find_pivot_index/src/main.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/find_pivot_index/src/main.rs b/find_pivot_index/src/main.rs index e024fb2..b4d1a0b 100644 --- a/find_pivot_index/src/main.rs +++ b/find_pivot_index/src/main.rs @@ -1,5 +1,5 @@ fn main() { - println!("Hello, world!"); + dbg!(f(vec![2, 1, -1])); } fn f(nums: Vec) -> i32 { @@ -9,12 +9,11 @@ fn f(nums: Vec) -> i32 { cur += n; rights.push(cur); } - rights.reverse(); let rights = &rights; cur = 0; - for (i, num) in nums.into_iter().enumerate() { - cur += num; - if cur == rights[i] { + for (i, (left, &right)) in nums.iter().zip(rights.iter().rev()).enumerate() { + cur += left; + if cur == right { return i as i32; } }