2264. Largest 3-Same-Digit Number in String

QUESTION:

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.

EXPLANATION:

easy的题目, 按照题目要求的逻辑模拟出来即可.

SOLUTION:

class Solution {
    func largestGoodInteger(_ num: String) -> String {
        var result = -1
        var resultStr = ""
        var tmpArr:[Character] = Array(num)
        for n in 1..<num.count-1 {
            if (tmpArr[n-1] == tmpArr[n] && tmpArr[n] == tmpArr[n+1]) {
                var tmpStr = String(tmpArr[n-1]) + String(tmpArr[n]) + String(tmpArr[n+1])
                if (result <= Int(tmpStr)!) {
                    result = Int(tmpStr)!
                    resultStr = tmpStr
                }
            }
        }
        return resultStr
    }
}
>