Skip to main content
Back to problems
#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)
LeetCode
solution.rs
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()
  }
}