Growth score

Write codeMedium16 minGoogle style

Your task

A budgeting app stores one account-balance snapshot per month. The product team wants a 'growth score': the largest number of snapshots you can pick, keeping their original order but skipping any months you like, so that every picked balance is strictly higher than the one picked before it. Given the snapshots (at most 1000), return that count. An empty list returns 0. For example, [10, 9, 2, 5, 3, 7, 101, 18] gives 4 via 2, 5, 7, 101.

Examples

longest_growth_run(balances: list[int]) -> int
Example 1
Inputlongest_growth_run([10, 9, 2, 5, 3, 7, 101, 18])
Output4
Example 2
Inputlongest_growth_run([3, 3, 3])
Output1