Skip to content

Commit a56bb3f

Browse files
committed
feat: resolved with reduce
1 parent 0ea406e commit a56bb3f

File tree

1 file changed

+6
-7
lines changed
  • maximum_points_you_can_obtain_from_cards/src

1 file changed

+6
-7
lines changed

maximum_points_you_can_obtain_from_cards/src/lib.rs

+6-7
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ impl Solution {
44
pub fn max_score(card_points: Vec<i32>, k: i32) -> i32 {
55
let k = k as usize;
66
let window_length = card_points.len() - k;
7-
let mut sum = card_points[window_length..].iter().sum();
8-
let mut sums = vec![sum];
9-
for i in 0..k {
10-
sum += card_points[i] - card_points[i + window_length];
11-
sums.push(sum);
12-
}
13-
*sums.iter().max().unwrap()
7+
let mut current: i32 = card_points[window_length..].iter().sum();
8+
let max = current;
9+
(0..k).fold(max, |acc, i| {
10+
current += card_points[i] - card_points[i + window_length];
11+
acc.max(current)
12+
})
1413
}
1514
}
1615

0 commit comments

Comments
 (0)