---
# System prepended metadata

title: 2264. Largest 3-Same-Digit Number in String

---

# 1. Tóm tắt đề bài

Cho một xâu ```num``` biểu diễn một số nguyên dương.

Một số nguyên dương $x$ được coi là tốt nếu thỏa mãn hai điều kiện:
- Nó là một xâu con của ```num``` với độ dài là $3$.
- Nó chỉ chứa đúng một loại chữ số.

***Yêu cầu:*** Hãy tìm số $x$ lớn nhất được coi là tốt.

##### Giới hạn

- $3 \le |num| \le 10^3$

# 2. Lời giải 

Ta đơn giản là làm theo những gì đề yêu cầu. 

Xét toàn bộ các xâu con độ dài $3$ của ```num```, kiểm tra xem chúng có cùng kí tự hay không, sau đó cập nhất với đáp án. 

Đối với ngôn ngữ ```C++```, có thể dùng hàm ```s.substr()``` để thuận tiện lấy xâu con.


### Độ phức tạp thuật toán

Thời gian: $O(n)$


### Code

```cpp=
class Solution {
public:
    string largestGoodInteger(string num) {
        string res = "";
        for (int i=0; i<(int)num.size()-2; i++) {
            if (num[i] == num[i+1] && num[i+1] == num[i+2]) {
                res = max (res,num.substr(i,3));
            }
        }
        return res;
    }
};
```
