LeetCode 2264. Largest 3-Same-Digit Number in String Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
2264. Largest 3-Same-Digit Number in String

Description

You are given a string num representing a large integer. An integer is good if it meets the following conditions:

  • It is a substring of num with length 3.
  • It consists of only one unique digit.

Return the maximum good integer as a string or an empty string "" if no such integer exists.

Note:

  • A substring is a contiguous sequence of characters within a string.
  • There may be leading zeroes in num or a good integer.

 

Example 1:

Input: num = "6777133339"
Output: "777"
Explanation: There are two distinct good integers: "777" and "333".
"777" is the largest, so we return "777".

Example 2:

Input: num = "2300019"
Output: "000"
Explanation: "000" is the only good integer.

Example 3:

Input: num = "42352338"
Output: ""
Explanation: No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.

 

Constraints:

  • 3 <= num.length <= 1000
  • num only consists of digits.

Solutions

Solution 1: Enumeration

We can enumerate each digit i from large to small, where 0 \le i \le 9, and then check whether the string s consisting of three consecutive i is a substring of num. If it is, we directly return s.

If we have enumerated all the possible values of i and still haven't found a substring that satisfies the condition, we return an empty string.

The time complexity is O(10 × n), where n is the length of the string num. The space complexity is O(1).

PythonJavaC++GoTypeScript
class Solution: def largestGoodInteger(self, num: str) -> str: for i in range(9, -1, -1): if (s := str(i) * 3) in num: return s return ""(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !