MyBatis一对多分页查询:避开JOIN陷阱的分步查询方案
2026/10/24 9:51:29
题目难度: 简单
原题链接
今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号算法精选里回复
剑指offer2就能看到该系列当前连载的所有文章了, 记得关注哦~
仓库管理员以数组 stock 形式记录商品库存表。stock[i] 表示商品 id,可能存在重复。请返回库存表中数量大于 stock.length / 2 的商品 id。
[1,2,3], 利用此方法得到的最终候选者为 3, 但它并不是多数元素, 只是恰好最后一个被选出来的候选者而已.O(N)O(1)classSolution:definventoryManagement(self,stock:List[int])->int:# 初始化候选者和计数res=stock[0]cnt=1forxinstock[1:]:ifx==res:# 当前元素等于候选者, 计数值+1cnt+=1else:# 否则计数值-1cnt-=1ifcnt<0:# 如果计数值小于0的话, 就说明之前保存的候选者现在被淘汰了, 将当前元素变为新的候选者, 并重置计数值为1res=x cnt=1returnres大家可以在下面这些地方找到我~😊
我的 GitHub
我的 Leetcode
我的 CSDN
我的知乎专栏
我的头条号
我的牛客网博客
我的公众号: 算法精选, 欢迎大家扫码关注~😊