在Python中找到回文的时间并且在给定时间之后
假设我们有一个字符串s,它以HH:MM表示24小时格式的时间,因此HH的范围是0到23,MM的范围是0到59,我们必须找到下一个最接近的时间是字符串形式的回文。如果没有这样的字符串,则返回-1。
因此,如果输入类似于“ 22:22”,那么输出将为“ 23:32”。
为了解决这个问题,我们将遵循以下步骤-
n:= s的大小
hour_string:= s的子字符串[从索引0到2]
分钟:= s的子字符串[从索引3到5]并将其转换为整数
rev_hour:=反转hour_string并将其转换为数字
rev_hr_str:=倒转hour_string
h:= hour_string作为整数
temp:=空字符串,res:=空字符串
如果h为23且分钟> = 32,则
res:= -1
否则,当分钟<rev_hour时,则
res:= res串联temp串联“:”串联rev_hr_str
res:= res串联temp串联“:0”串联rev_hr_str
temp:=“ 0”
如果h <10,则
temp:= temp并置h
如果rev_hour <10,则
除此以外,
除此以外,
res:= res串联temp串联“:”串联rev_hr_str
res:= res串联temp串联“:0”串联rev_hr_str
temp:=“ 0”
h:= h + 1
rev_hr_str:=反转h作为字符串
rev_hour:=反转h
如果h <10,则
temp:= temp并置h
如果rev_hour <10,则
除此以外,
返回资源
示例
让我们看下面的实现以更好地理解-
def get_next_palindrome_time(s) :n = len(s)
hour_string = s[0 : 2]
minute = int(s[3 : 5])
rev_hour = int(hour_string[::-1])
rev_hr_str = hour_string[::-1]
h = int(hour_string)
temp = ""
res = ""
if (h == 23 and minute >= 32) :
res = "-1"
elif (minute < rev_hour) :
if (h < 10) :
temp = "0"
temp = temp + str(h)
if (rev_hour < 10) :
res = res + temp + ":0" + rev_hr_str
else :
res = res + temp + ":" + rev_hr_str
else :
h += 1
rev_hr_str = str(h)[::-1]
rev_hour = int(rev_hr_str)
if (h < 10) :
temp = "0"
temp = temp + str(h)
if (rev_hour < 10) :
res = res + temp + ":0" + rev_hr_str
else :
res = res + temp + ":" + rev_hr_str
return res
s = "22:22"
print(get_next_palindrome_time(s))
输入值
"22:22"
输出结果
23:32
以上是 在Python中找到回文的时间并且在给定时间之后 的全部内容, 来源链接: utcz.com/z/362202.html