携程 0327

输入时间,经过多久到回文时间

def ispal(h, m):
    h, m = str(h), str(m)
    if int(h) < 10:
        h = '0' + h
    if int(m) < 10:
        m = '0' + m
    return h == m[::-1]


h, m = map(int, input().split(":"))
ans = 0
while 1:
    if ispal(h, m):
        break
    if m == 59:
        h += 1
        m = 0
        if h == 24:
            h = 0
    else:
        m += 1
    ans += 1
print(ans)

合法序列

n = int(input())
b = list(map(int, input().split()))
st = []
r1,r2 = 0, 0
mp = {}
for i, num in enumerate(b):
    if num > 0:
        st.append(num)
        mp[num] = i
    elif num < 0 and st[-1] == -1*num:
        st.pop()
    else:
        if -1*num in mp:
            r1 = mp[-1*num]
            r2 = r1+1
        else:
            r1 = i
            r2 = i+1
        break
print(r1+1,r2+1)

给一串 0-9的数字 ,多少种解析方法 26个键盘,0本身不对应某一个键,只能是x0,

mod = 1e9+7
def compute(n,s):
    dp = [0] * (n+1)
    dp[1] = 1
    dp[0] = 1
    for i in range(1, n):
        num = int(s[i-1:i+1])
        if s[i] == "0":
            dp[i+1] = dp[i-1]
        elif num > 26 or s[i-1] == "0":
            dp[i+1] = dp[i]
        else:
            dp[i+1] = dp[i] + dp[i-1]
        dp[i+1] = int(dp[i+1]%mod)
    return dp[-1]

T = int(input())
for _ in range(T):
    n = int(input())
    s = input()
    print(compute(n,s))

你可能感兴趣的:(python,算法,数据结构)