Class Solution
-
- All Implemented Interfaces:
public final class Solution
2375 - Construct Smallest Number From DI String\.
Medium
You are given a 0-indexed string
pattern
of lengthn
consisting of the characters'I'
meaning increasing and'D'
meaning decreasing.A 0-indexed string
num
of lengthn + 1
is created using the following conditions:num
consists of the digits'1'
to'9'
, where each digit is used at most once.If
pattern[i] == 'I'
, thennum[i] < num[i + 1]
.If
pattern[i] == 'D'
, thennum[i] > num[i + 1]
.
Return the lexicographically smallest possible string
num
that meets the conditions.Example 1:
Input: pattern = "IIIDIDDD"
Output: "123549876"
Explanation:
At indices 0, 1, 2, and 4 we must have that numi< numi+1.
At indices 3, 5, 6, and 7 we must have that numi> numi+1.
Some possible values of num are "245639871", "135749862", and "123849765".
It can be proven that "123549876" is the smallest possible num that meets the conditions.
Note that "123414321" is not possible because the digit '1' is used more than once.
Example 2:
Input: pattern = "DDD"
Output: "4321"
Explanation:
Some possible values of num are "9876", "7321", and "8742".
It can be proven that "4321" is the smallest possible num that meets the conditions.
Constraints:
1 <= pattern.length <= 8
pattern
consists of only the letters'I'
and'D'
.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final String
smallestNumber(String pattern)
-
-
Method Detail
-
smallestNumber
final String smallestNumber(String pattern)
-
-
-
-