ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Leetcode7-库存管理(158)

2026/9/14 10:44:16 拓冰建站 浏览量
Leetcode7-库存管理(158)

1、题目

仓库管理员以数组 stock 形式记录商品库存表。stock[i] 表示商品 id,可能存在重复。请返回库存表中数量大于 stock.length / 2 的商品 id。

示例 1:

输入: stock = [6, 1, 3, 1, 1, 1]
输出: 1

限制:

1 <= stock.length <= 50000
给定数组为非空数组,且存在结果数字

2、解

int inventoryManagement(vector<int> & stock){int l = stock.size()/2;unordered_map<int, int> stockNum;for(auto s : stock){stockNum[s]++;/*if(stockNum[s] > l)return stockNum[s];*/}for(auto &[s, num] : stockNum){if(num > l)return s;}return 0;
}

另解,排序后位于中间位置的元素一定是目标元素

int inventoryManagementA(vector<int> & stock){sort(stock.begin(), stock.end());return stock.at(stock.size()/2);
}