Understand Smallest Number From DI String Problem

Construct Smallest Number From DI String

Problem Statement

You are given a string pattern consisting of the characters:

  • 'I' (Increasing): The next digit must be greater than the current one.
  • 'D' (Decreasing): The next digit must be smaller than the current one.

Your task is to generate the smallest lexicographical number using digits 1-9 (without repetition) that follows this pattern.

Example 1

Input:
pattern = "IDID"

Output:
13254

Explanation:

  • 1 < 3 (I)
  • 3 > 2 (D)
  • 2 < 5 (I)
  • 5 > 4 (D)

Other possible numbers are "14253" and "15234", but "13254" is the smallest.


Example 2

Input:
pattern = "DDD"

Output:
4321

Explanation:

  • 4 > 3 (D)
  • 3 > 2 (D)
  • 2 > 1 (D)

Other possible numbers like "9876" or "7654" are larger.


Constraints

  • 1 <= pattern.length <= 8
  • pattern consists only of 'I' and 'D'.
Category:
  • Leetcode Problem of the Day
  • Stacks & Queues
Programming Language:
  • Java
Reference Link:

https://leetcode.com/problems/construct-smallest-number-from-di-string/description

Java
Output:

Loading component...

Loading component...