744. 寻找比目标字母大的最小字母

exiaohu 于 2022-04-03 发布

题目链接:744. 寻找比目标字母大的最小字母

虽然是排好序的数组,用二分法会更快。但是因为数据规模很小,所以暴力解法,遍历一遍,找到这个合适的值即可。

import heapq
from typing import List


class Solution:
    def nextGreatestLetter(self, letters: List[str], target: str) -> str:
        def diff(letter: str) -> int:
            return (ord(letter) + 25 - ord(target)) % 26

        return heapq.nsmallest(1, set(letters), key=diff)[0]