当前位置: 首页 > news >正文

简单云计算算法--20251023

简单云计算算法--2025/10/23

No.1

LCR 158. 库存管理 II

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

示例 1:

输入:stock = [6, 1, 3, 1, 1, 1]
输出:1
class Solution:def inventoryManagement(self, stock: List[int]) -> int:
# author: 王贵祥
# date: 2025-10-23
# description: 仓库物品管理from typing import List
class Solution:def inventoryManagement(self,stock: List[int]) ->int:# 判断仓库是否为空if not stock:return Nonetmp = len(stock)/2count = 0count_dir={}for num in stock:count_dir[num] = count_dir.get(num,0)+1# 如果 num 不存在:返回默认值 0# print(count_dir)# 输出每个物品的数量,count_dir是一个字典,key是物品编号,value是物品数量List_count_dir=list(count_dir.items())# 输出每个物品的编号,count_dir是一个字典,key是物品编号,value是物品数量for key,value in List_count_dir:if value >= tmp:return keyif __name__ == '__main__':s = Solution()stock = [1,2,3,3,3,6,3,3,9,10]print(s.inventoryManagement(stock))

No.2

LCR 159. 库存管理 III

仓库管理员以数组 stock 形式记录商品库存表,其中 stock[i] 表示对应商品库存余量。请返回库存余量最少的 cnt 个商品余量,返回 顺序不限

示例 1:

输入:stock = [2,5,7,4], cnt = 1
输出:[2]

示例 2:

输入:stock = [0,2,3,6], cnt = 2
输出:[0,2] 或 [2,0]
class Solution:def inventoryManagement(self,stock: List[int],cnt: int) -> List[int]:
# author: 王贵祥
# date: 2025-10-23
# description: 库存管理2
from typing import Listclass Solution:def inventoryManagement(self,stock: List[int],cnt: int) -> List[int]:# 判断仓库是否为空if not stock:return Nonelist_count = sorted(stock) # 对仓库物品进行排序result = list_count[:cnt]  # 取出前 cnt 个物品return result
# 测试用例
if __name__ == '__main__':s = Solution()stock = [1,2,3,4,5,6,3,3,9,10]cnt = 5print(s.inventoryManagement(stock,cnt))

No.3

LCR 160. 数据流中的中位数

困难

中位数 是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。

例如,
[2,3,4] 的中位数是 3
[2,3] 的中位数是 (2 + 3) / 2 = 2.5
设计一个支持以下两种操作的数据结构:

  • void addNum(int num) - 从数据流中添加一个整数到数据结构中。
  • double findMedian() - 返回目前所有元素的中位数。

示例 1:

输入:
["MedianFinder","addNum","addNum","findMedian","addNum","findMedian"]
[[],[1],[2],[],[3],[]]
输出:[null,null,null,1.50000,null,2.00000]

示例 2:

输入:
["MedianFinder","addNum","findMedian","addNum","findMedian"]
[[],[2],[],[3],[]]
输出:[null,null,2.00000,null,2.50000]
class MedianFinder:def __init__(self):"""initialize your data structure here."""def addNum(self, num: int) -> None:def findMedian(self) -> float:# Your MedianFinder object will be instantiated and called as such:
# obj = MedianFinder()
# obj.addNum(num)
# param_2 = obj.findMedian()
# author: 王贵祥
# date: 2025-10-23
# description: 中位数
class MedianFinder:def __init__(self):# 创建一个列表nums用于存储数据流中的数字self.nums = []self.tmp = []def addNum(self, num: int) -> None:self.nums.append(num)self.tmp = sorted(self.nums)# result = sorted(self.nums)  # 生成新列表,原列表不变# result = self.nums.sort()  # 原地修改 self.nums,但返回值为 Nonedef findMedian(self) -> float:n = len(self.nums)if n % 2 == 0:return (self.tmp[n // 2] + self.tmp[n // 2 - 1]) / 2else:return self.tmp[n // 2]
# 测试用例
medianFinder = MedianFinder()
medianFinder.addNum(1)
medianFinder.addNum(2)
print(medianFinder.findMedian())  # 输出 1.5
medianFinder.addNum(3)
print(medianFinder.findMedian())  # 输出 2
http://www.hskmm.com/?act=detail&tid=37662

相关文章:

  • 处理空输入踩的坑
  • latex输入公式
  • 【为美好CTF献上祝福】 New Star 2025 逆向笔记
  • XXL-JOB(5)
  • 蛋白表达原理与关键要素解析
  • Ramanujan Master Theorem
  • 顾雅南的声音美化课堂
  • C++案例 自定义数组
  • 【周记】2025.10.13~2025.10.19
  • 背包
  • 10.23《程序员修炼之道 从小工到专家》第二章 注重实效的途径 - GENGAR
  • 玩转单片机之智能车小露——LED闪烁实战
  • ord() 函数
  • 2025.10.23总结 - A
  • 大模型 | VLA 初识及在自动驾驶场景中的应用
  • ExPRT.AI如何预测下一个将被利用的漏洞
  • Redis中的分布式锁之SETNX底层实现
  • 攻击模拟
  • 2025家纺摄影公司推荐,南通鼎尚摄影专注产品视觉呈现
  • AI元人文构想的跨学科研究:技术实现与人文影响分析——对自由与责任的再框架化(DeepSeek基于Ai元人文系列文章研究)
  • Python---简易编程解决工作问题
  • 日总结 16
  • 比赛题解 总结
  • DM8 安装包 for linux_x86
  • MPK(Mirage Persistent Kernel)源码笔记(1)--- 基础原理
  • 模拟can通信
  • 解题报告-拯救计划(概率 DP)
  • 日志分析-IIS日志分析
  • Min_25 筛
  • 解码Linux文件IO之库的制作与应用