#刷题交流# 打卡第五天:[寻找最大葫芦]
统计每个牌面值的出现次数,使用一个字典来记录每个牌面值的出现次数。这个字典的键是牌面值,值是该牌面值出现的次数。构造所有可能的“葫芦”组合,“葫芦”要求有三张相同的牌和两张相同的牌。因此,需要遍历所有牌面值的组合,查找符合条件的组合。为了符合“葫芦”的规则,必须有至少 3 张相同面值的牌和至少 2 张相同面值的牌组成 。这样我们可以通过遍历所有的牌面值,寻找满足上述条件的组合。
过滤合法的组合,对于每一组合法的“葫芦”组合,我们需要计算其总和。如果总和不超过给定的 max,则认为该组合是合法的。比较所有合法的组合,找到所有合法的“葫芦”组合后,我们需要从中选择最大的一组。牌面值的比较规则是,首先比较三张相同牌的面值(a),如果相同则比较两张相同牌的面值(b)。因此,我们需要对合法的组合按照(a, b)进行排序。如果找到了合法的组合,返回其中最优的组合(即最大的组合)。
展开
评论