#1646
Easy Algorithms Get maximum in generated array
Array Simulation
51.4% acceptance
Feb 25, 2026
782
968
You are given an integer n. A 0-indexed integer array nums of length n + 1 is
generated in the following way:
nums[0] = 0
nums[1] = 1
nums[2 * i] = nums[i] when 2 <= 2 * i <= n
nums[2 * i + 1] = nums[i] + nums[i + 1] when 2 <= 2 * i + 1 <= n
Return the maximum integer in the array nums.
Solution
Rust
Time O(n)
Space O(n)
impl Solution {
pub fn get_maximum_generated(n: i32) -> i32 {
if n == 0 {
return 0;
}
let n = n as usize;
let mut nums = vec![0i32; n + 1];
nums[1] = 1;
for i in 2..=n {
if i % 2 == 0 {
nums[i] = nums[i / 2];
} else {
nums[i] = nums[i / 2] + nums[i / 2 + 1];
}
}
*nums.iter().max().unwrap()
}
}