查找数组中销量最低的产品(多结果取最小ID)
问题描述
给定某商店单日售出的n个产品,每个产品对应唯一ID,存储于数组prod中。请找出销量最低的产品;若多个产品销量同为最低,返回ID更小的那个。
输入格式
- 第一行:数组长度n
- 第二行:n个空格分隔的产品ID
示例
示例1:
输入:
6
1 4 1 3 1 4
输出:3
解释:ID为3的产品仅售出1次,是销量最低的产品。
示例2:
输入:
5
1 2 3 4 5
输出:1
解释:所有产品销量均为1,返回其中ID最小的产品。
解决思路
- 统计销量:使用哈希表(字典)遍历数组,记录每个产品ID的售出次数。
- 确定最低销量:从哈希表的销量值中找出最小值。
- 筛选并返回结果:收集所有销量等于最低值的产品ID,返回其中最小的ID。
Python 实现代码
n = int(input()) prod = list(map(int, input().split())) # 统计每个ID的销量 sales_count = {} for product_id in prod: sales_count[product_id] = sales_count.get(product_id, 0) + 1 # 获取最低销量数值 min_sales = min(sales_count.values()) # 筛选出销量最低的ID,取最小的那个 result = min([pid for pid, cnt in sales_count.items() if cnt == min_sales]) print(result)
代码说明
- 输入读取:先读取数组长度n,再读取产品ID数组并转换为整数列表。
- 销量统计:通过遍历数组,用字典的
get方法安全地累加每个ID的出现次数。 - 最低销量获取:直接调用
min函数获取字典中所有销量值的最小值。 - 结果筛选:用列表推导式筛选出所有销量达标ID,再取其中最小的ID作为最终结果。
内容的提问来源于stack exchange,提问作者Gangadhar yeddula
相关产品推荐
相关产品推荐

