• 当t中的任何字符不在s中时,检查前两个字符(前两个ASCII值)是否在s中。例如,如果'f'在t中但不在s中,那么'd'和'e'可以从s中生成'f'。

  • 因此,如果输入类似于s="pghn"t="pin",那么输出将为True,因为我们可以从'g'和'h'生成'i'以生成“pin”。

    让我们看看以下实现以获得更好的理解-

    示例

    from collections import defaultdict
    def solve(s, t):
       freq = defaultdict(lambda:0)
       for i in range(0, len(s)):
          freq[s[i]] += 1
       for i in range(0, len(t)):
          if freq[t[i]]:
             freq[t[i]] -= 1
          elif (freq[chr(ord(t[i]) - 1)] and freq[chr(ord(t[i]) - 2)]):
             freq[chr(ord(t[i]) - 1)] -= 1
             freq[chr(ord(t[i]) - 2)] -= 1
          else:
             return False
       return True
    s = "pghn"
    t = "pin"
    print(solve(s, t))

    输入

    "pghn", "pin"

    输出结果

    True

    热门推荐

    1 田园婚礼祝福语简短精辟
    2 鸡年公司祝福语大全简短
    3 上岸生日祝福语简短独特
    4 端午怎么讲祝福语简短
    5 开工仪式横幅祝福语简短
    6 辞职发给公司祝福语简短
    7 宴会签名祝福语简短
    8 男生儿子生日祝福语简短
    9 孩子献花祝福语大全简短
    10 新年门口花束祝福语简短
    11 盘锦结婚祝福语大全简短
    12 父母生日祝福语 简短独特
    13 家庭恩爱祝福语简短英文
    14 高考俄语祝福语大全简短
    15 虎年祝福语 诗句唯美简短
    16 生日婚礼祝福语简短精辟
    17 虎年喝酒拜年祝福语简短
    18 教师闺蜜祝福语简短