We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0ea406e commit a56bb3fCopy full SHA for a56bb3f
maximum_points_you_can_obtain_from_cards/src/lib.rs
@@ -4,13 +4,12 @@ impl Solution {
4
pub fn max_score(card_points: Vec<i32>, k: i32) -> i32 {
5
let k = k as usize;
6
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()
+ let mut current: i32 = card_points[window_length..].iter().sum();
+ let max = current;
+ (0..k).fold(max, |acc, i| {
+ current += card_points[i] - card_points[i + window_length];
+ acc.max(current)
+ })
14
}
15
16
0 commit comments