2023-12-04 Daily Challenge
Today I have done leetcode's December LeetCoding Challenge with cpp
.
December LeetCoding Challenge 4
Description
Largest 3-Same-Digit Number in String
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.
Solution
class Solution {
public:
string largestGoodInteger(string num) {
string answer = "";
char current = 0;
for(int i = 2; i < num.size(); ++i) {
if(num[i] == num[i - 1] && num[i] == num[i - 2] && num[i] > current) {
answer = num.substr(i - 2, 3);
current = num[i];
}
}
return answer;
}
};
// Accepted
// 141/141 cases passed (0 ms)
// Your runtime beats 100 % of cpp submissions
// Your memory usage beats 59.71 % of cpp submissions (6.8 MB)