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 length3
. - 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: Brute Force
- Time complexity: O(n)
- Space complexity: O(1)
JavaScript
js
/**
* @param {string} num
* @return {string}
*/
const largestGoodInteger = function (num) {
const n = num.length;
let maxGood = -1;
let result = '';
for (let index = 1; index < n; index++) {
const str = num[index];
if (str !== num[index - 1] || str !== num[index - 2]) {
continue;
}
const integer = str.repeat(3);
if (Number(integer) > maxGood) {
result = integer;
maxGood = Number(integer);
}
}
return result;
};