小C来到了一家餐馆,准备点一些菜。
已知该餐馆有 nn 道菜,第 ii 道菜的售价为 wiwi。
小C准备点一些价格相同的菜,但小C不会点单价超过 mm 的菜。
小C想知道,自己最多可以点多少道菜?
测试样例
样例1:
输入:
m = 6, w = [2, 3, 3, 6, 6, 6, 9, 9, 23]
输出:3
样例2:
输入:
m = 4, w = [1, 2, 4, 4, 4]
输出:3
样例3:
输入:
m = 5, w = [5, 5, 5, 5, 6, 7, 8]
输出:4
from collections import Counterdef solution(m: int, w: list) -> int:# 筛选出价格不超过 m 的菜品filtered_dishes = [price for price in w if price <= m]# 使用 Counter 统计每种价格的数量price_count = Counter(filtered_dishes)# 找到最大数量的菜品max_count = max(price_count.values(), default=0)return max_countif __name__ == '__main__':print(solution(6, [2, 3, 3, 6, 6, 6, 9, 9, 23]) == 3) # 输出: Trueprint(solution(4, [1, 2, 4, 4, 4]) == 3) # 输出: Trueprint(solution(5, [5, 5, 5, 5, 6, 7, 8]) == 4) # 输出: True