You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找数组中销量最低的产品(多结果取最小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最小的产品。

解决思路

  1. 统计销量:使用哈希表(字典)遍历数组,记录每个产品ID的售出次数。
  2. 确定最低销量:从哈希表的销量值中找出最小值。
  3. 筛选并返回结果:收集所有销量等于最低值的产品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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 02:15:33