BackmediumArraysUber

Longest Consecutive Temperature Trend Solution

Problem Statement

Given a sequence of integers temperatures and a string pattern consisting of characters 'A' and 'D', find the length of the longest subsequence in temperatures that matches the given pattern.

Example 1
Input
[2, 3, 4, 5, 6, 7, 8, 9, 10] and 'AAA'
Output
3

Explanation: Step-by-step: We start with the first temperature 2. Since it's less than the next temperature 3, we append 'A' to the pattern. Then we move to the next temperature 3, which is also less than the next temperature 4, so we append 'A' again. Finally, we move to the next temperature 4, which is less than the next temperature 5, so we append 'A' one more time. The longest subsequence that matches the pattern 'AAA' is [2, 3, 4].

Example 2
Input
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 'DDDDDD'
Output
5

Explanation: Step-by-step: We start with the first temperature 1. Since it's greater than the next temperature 2, we append 'D' to the pattern. Then we move to the next temperature 2, which is less than the next temperature 3, so we append 'A'. However, since we already have 'D' in the pattern, we append 'D' instead of 'A'. Then we move to the next temperature 3, which is greater than the next temperature 4, so we append 'D' again. Finally, we move to the next temperature 4, which is less than the next temperature 5, so we append 'A'. The longest subsequence that matches the pattern 'DDDDDD' is [1, 2, 3, 4, 5].

Constraints

  • 1 <= length of temperatures <= 1000
  • 1 <= length of pattern <= 1000
  • Pattern consists only of 'A' and 'D'.
Live Compiler1 Free Run Available
Loading Editor...
Test Cases & Output
Click "Run" to test your 1 free compile trial!

šŸš€ Practice this problem

Run code, get AI hints & track streak

Sign Up Free

Longest Consecutive Temperature Trend — Problem Statement & Solution Guide

ArraysMediumMixed
TimeO(n*m)
|
SpaceO(1)

Problem Description

Given a sequence of integers temperatures and a string pattern consisting of characters 'A' and 'D', find the length of the longest subsequence in temperatures that matches the given pattern.

Examples

Example 1

Input

[2, 3, 4, 5, 6, 7, 8, 9, 10] and 'AAA'

Output

3

Explanation: Step-by-step: We start with the first temperature 2. Since it's less than the next temperature 3, we append 'A' to the pattern. Then we move to the next temperature 3, which is also less than the next temperature 4, so we append 'A' again. Finally, we move to the next temperature 4, which is less than the next temperature 5, so we append 'A' one more time. The longest subsequence that matches the pattern 'AAA' is [2, 3, 4].

Example 2

Input

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and 'DDDDDD'

Output

5

Explanation: Step-by-step: We start with the first temperature 1. Since it's greater than the next temperature 2, we append 'D' to the pattern. Then we move to the next temperature 2, which is less than the next temperature 3, so we append 'A'. However, since we already have 'D' in the pattern, we append 'D' instead of 'A'. Then we move to the next temperature 3, which is greater than the next temperature 4, so we append 'D' again. Finally, we move to the next temperature 4, which is less than the next temperature 5, so we append 'A'. The longest subsequence that matches the pattern 'DDDDDD' is [1, 2, 3, 4, 5].

Constraints

  • 1 <= length of temperatures <= 1000
  • 1 <= length of pattern <= 1000
  • Pattern consists only of 'A' and 'D'.

Optimal Approach & Strategy

The optimized approach involves using a single pass through the temperatures array and keeping track of the longest subsequence that matches the pattern, resulting in a time complexity of O(n). This approach uses a dynamic programming technique to efficiently find the longest matching subsequence.

Brute Force Approach

The brute-force approach involves checking every possible subsequence of temperatures against the pattern, resulting in a time complexity of O(n²). This approach is inefficient and can be improved upon. It involves using nested loops to compare each temperature reading with every other reading.

Asked in Top Tech Interviews

Uber

Solve in Interative Editor

Ready to test your code? Open our built-in compiler, run custom test suites, and see detailed complexity analysis reports instantly.