日渐头秃的代码日记 -- 第298场周赛第1题

175 阅读1分钟

兼具大小写的最好英文字母

给你一个由英文字母组成的字符串 s ,请你找出并返回 s 中的 最好 英文字母。返回的字母必须为大写形式。如果不存在满足条件的字母,则返回一个空字符串。

最好 英文字母的大写和小写形式必须  在 s 中出现。

英文字母 b 比另一个英文字母 a 更好 的前提是:英文字母表中,b 在 a 之  出现。

 

示例 1:

输入: s = "lEeTcOdE"
输出: "E"
解释:
字母 'E' 是唯一一个大写和小写形式都出现的字母。

示例 2:

输入: s = "arRAzFif"
输出: "R"
解释:
字母 'R' 是大写和小写形式都出现的最好英文字母。
注意 'A''F' 的大写和小写形式也都出现了,但是 'R''F''A' 更好。

示例 3:

输入: s = "AbCdEfGhIjK"
输出: ""
解释:
不存在大写和小写形式都出现的字母。

 

提示:

  • 1 <= s.length <= 1000
  • s 由小写和大写英文字母组成

解析

这道题就说的很复杂,其实内容很简短

class Solution:
    def greatestLetter(self, s: str) -> str:
        res = ''
        for letter in "abcdefghijklmnopqrstuvwxyz"[::-1]:
            if letter.upper() in s and letter in s:
                res = letter.upper()
                break
        return res