Get Maximum in Generated Array — LeetCode 1646 Python Solution
EasyArraySimulation
- Problem
- #1646
- Reading time
- 2 min
- Source
- leetcode.com
The problem
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.
Example
- Input
- n = 7
- Output
- 3
- Explanation
- According to the given rules:
Python solution
Python
class Solution:
def getMaximumGenerated(self, n: int) -> int:
if n < 2:
return n
nums = [0] * (n + 1)
nums[1] = 1
for i in range(2, n + 1):
nums[i] = nums[i >> 1] if i % 2 == 0 else nums[i >> 1] + nums[(i >> 1) + 1]
return max(nums)Complexity
| Measure | Complexity |
|---|---|
| Time | O(n) |
| Space | O(1) to O(n) auxiliary |
Related problems
LeetCode 495Teemo AttackingEasyLeetCode 985Sum of Even Numbers After QueriesMediumLeetCode 1389Create Target Array in the Given OrderEasyLeetCode 1409Queries on a Permutation With KeyMediumLeetCode 1503Last Moment Before All Ants Fall Out of a PlankMediumLeetCode 1535Find the Winner of an Array GameMedium
Frequently asked questions
- How hard is LeetCode 1646. Get Maximum in Generated Array?
- LeetCode 1646. Get Maximum in Generated Array is rated Easy on LeetCode.
- What topics does LeetCode 1646. Get Maximum in Generated Array cover?
- LeetCode 1646. Get Maximum in Generated Array is tagged Array and Simulation on LeetCode.