讨论/题目交流/🏆 第 162 场力扣周赛/
🏆 第 162 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 奇数值单元格的数目
4 分 - 重构 2 行二进制矩阵
5 分 - 统计封闭岛屿的数目
6 分 - 得分最高的单词集合

展开讨论
力扣 (LeetCode)发起于 2019-11-10
最近编辑于 2019-11-10

头一回碰见这么简单的周赛
我要膨胀了

from itertools import combinations, chain
from collections import Counter

class Solution:
    def maxScoreWords(self, words: List[str], letters: List[str], score: List[int]) -> int:
        n = len(words)
        s = {chr(97 + i) : score[i] for i in range(26)}
        
        cnt = Counter(letters)
        res = 0
        for i in range(1, n + 1):
            for p in combinations(words, i):
                c = Counter(chain.from_iterable(p))
                for k, v in c.items():
                    if cnt[k] < v:
                        break
                else:
                    res = max(res, sum(s[k] * v for k, v in c.items()))
        
        return res

第四题
谁能有我 pythonic ?

2
展开全部 22 讨论