题目描述
给你一个字符串 num ,表示一个大整数。如果一个整数满足下述所有条件,则认为该整数是一个 优质整数 :
该整数是 num 的一个长度为 3 的 子字符串 。
该整数由唯一一个数字重复 3 次组成。
以字符串形式返回 最大的优质整数 。如果不存在满足要求的整数,则返回一个空字符串 "" 。
注意:
子字符串 是字符串中的一个连续字符序列。
num 或优质整数中可能存在 前导零 。
Coding1
from collections import defaultdict
class Solution:
def largestGoodInteger(self, num: str) -> str:
c=defaultdict(int); cnt=0
ans=''
for i,val in enumerate(num):
if i==0: c[val]=1
else:
if val!=num[i-1]:
c.clear()
c[val]=1
else:
c[val]+=1
if c[val]==3:
if ans=='':ans=val
elif val>ans: ans=val
return ans*3
Coding2
R = ['999', '888', '777', '666', '555', '444', '333', '222', '111', '000']
class Solution:
def largestGoodInteger(self, num: str) -> str:
k= [s for s in R if s in num]
return k[0] if k!=[] else ''