2264. 字符串中最大的 3 位相同数字
思路:字符串处理,时间复杂度0(n)。
C++版本:
class Solution {
public:
string largestGoodInteger(string num) {
char t=0;
int ct=1;
for(int i=1;i<num.size();i++){
if(num[i]==num[i-1]) ct++;
else ct=1;
if(ct==3){
if(t==0 || t<num[i]) t=num[i];
}
}
if(t==0) return "";
return string(3,t);
}
};
JAVA版本:
class Solution {
public String largestGoodInteger(String num) {
char t=0;
int ct=1;
for(int i=1;i<num.length();i++){
if(num.charAt(i)==num.charAt(i-1)) ct++;
else ct=1;
if(ct==3){
if(t==0 || t<num.charAt(i)) t=num.charAt(i);
}
}
if(t==0) return "";
return ""+t+""+t+""+t;
}
}
Go版本:
func largestGoodInteger(num string) string {
t := byte(0)
ct:= 1
for i:=1; i<len(num);i++ {
if num[i]==num[i-1] {
ct++;
}else{
ct=1;
}
if ct>=3 &&t<num[i] {
t=num[i]
}
}
if t==0 {
return ""
}
return strings.Repeat(string(t),3)
}