📜  找到最大的偶数整数,它是 S 的非空子串(1)

📅  最后修改于: 2023-12-03 14:54:36.009000             🧑  作者: Mango

找到最大的偶数整数,它是 S 的非空子串
问题描述

给定一个字符串 S,找到 S 中的一个最大的偶数整数,它是 S 的非空子串。

思路

我们从字符串的右端开始找起,找到第一个偶数,如果找到,则直接输出,否则继续往前找,直到字符串的开头。当我们找到第一个偶数时,我们只需要判断这个偶数是否是 S 的一个子串即可。

代码实现

以下是 Python 代码实现,时间复杂度为 $O(n)$:

def largest_even_substring(S: str) -> str:
    for i in range(len(S) - 1, -1, -1):
        if int(S[i]) % 2 == 0:
            return S[:i+1]
    return ""
示例

样例 1:

输入:S = "123456"

输出:"6"

样例 2:

输入:S = "12345"

输出:""

总结

本题考查了字符串的遍历和判断,需要注意的是字符串的下标从右往左开始。同时,我们需要注意空串的情况,如果没有找到偶数,我们需要输出一个空串。