2264. Largest 3-Same-Digit Number in String
Problem
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
numwith 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
numor a good integer.
https://leetcode.cn/problems/largest-3-same-digit-number-in-string/
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 <= 1000numonly consists of digits.
Test Cases
class Solution:
def largestGoodInteger(self, num: str) -> str:solution_test.py下载完整源码
import pytest
from solution import Solution
@pytest.mark.parametrize('num, expected', [
("6777133339", "777"),
("2300019", "000"),
("42352338", ""),
])
@pytest.mark.parametrize('sol', [Solution()])
def test_solution(sol, num, expected):
assert sol.largestGoodInteger(num) == expected
Thoughts
Code
solution.py下载完整源码
class Solution:
def largestGoodInteger(self, num: str) -> str:
return max((num[i] for i in range(len(num)-2) if num[i] == num[i+1] == num[i+2]), default='') * 3
评论需要 JavaScript。