zoukankan      html  css  js  c++  java
  • leetcode 1079 活字印刷

    leetcode-1079 活字印刷

    题目描述:

    你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目

    解法一:使用库函数

    from itertools import permutations
    class Solution:
        def numTilePossibilities(self, tiles: str) -> int:
            res = []
            for i in range(1,len(tiles)+1):
                res.extend(list(permutations(tiles,i)))
            return len(set(res))
    

    解法二:

    from itertools import permutations
    class Solution:
        def numTilePossibilities(self, tiles: str) -> int:
            def dfs(tiles,flags):
                res = 0
                for i in range(26):
                    if flags[i] == 0:
                        continue
                    res += 1
                    flags[i] -= 1
                    res += dfs(tiles,flags)
                    flags[i] +=1
                return res
            flags = [0]*26
            for v in tiles:
                flags[ord(v)-ord("A")] += 1
            return dfs(tiles,flags)
    
  • 相关阅读:
    CF1439E
    CF1446
    CSP2020 游记
    CF1442
    CF1444E
    CF1444
    CF850F Rainbow Balls
    A
    uoj266[清华集训2016]Alice和Bob又在玩游戏(SG函数)
    loj536「LibreOJ Round #6」花札(二分图博弈)
  • 原文地址:https://www.cnblogs.com/curtisxiao/p/11296630.html
Copyright © 2011-2022 走看看