Find the Minimum Number of Fibonacci Numbers Whose Sum Is K LeetCode solution in Rust

1
impl Solution {
2
pub fn find_min_fibonacci_numbers(k: i32) -> i32 {
3
let mut nums: Vec<i32> = vec![0, 1];
4
loop {
5
let n = nums.len();
6
let last = nums[n - 1];
7
let pre = nums[n - 2];
8
let now = pre + last;
9
if now > k {
10
break;
11
}
12
nums.push(now);
13
}
14

15
let mut p: usize = nums.len() - 1;
16
let mut remain: i32 = k;
17
let mut answer: i32 = 0;
18
while remain > 0 {
19
if remain >= nums[p] {
20
remain -= nums[p];
21
answer += 1;
22
} else {
23
p -= 1;
24
}
25
}
26
answer
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0