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

千问 LeetCode 2561. 重排水果 Python3实现

这道题的核心是贪心 利用全局最小值做中介交换。下面给出Python3实现附带详细注释。from typing import Listfrom collections import Counterclass Solution:def minCost(self, basket1: List[int], basket2: List[int]) - int:# 1. 统计每个水果在两个篮子中的净出现次数cnt Counter(basket1)for x in basket2:cnt[x] - 1# 2. 检查可行性如果某个水果出现奇数次无法平分for v in cnt.values():if v % 2 ! 0:return -1# 3. 收集需要交换的水果取绝对值的一半swap []for val, freq in cnt.items():if freq ! 0:# 需要交换 |freq|/2 个 valswap.extend([val] * (abs(freq) // 2))# 4. 全局最小值用于中介交换min_val min(min(basket1), min(basket2))# 5. 排序后取最小的前一半计算最小成本swap.sort()n len(swap) // 2 # 只需要交换一半ans 0for i in range(n):# 直接交换成本 swap[i]# 通过最小值中转两次的成本 2 * min_val# 取两者中较小的ans min(swap[i], 2 * min_val)return ans核心思路为什么可以这样贪心1. 可行性判断统计所有水果在两个篮子中的净出现次数basket1中1basket2中-1。如果某个水果的净出现次数是奇数说明无法平分返回-1。2. 收集待交换水果对于净出现次数不为0的水果需要将多出的一半交换到另一个篮子。比如某个水果在basket1中多出4个就需要把2个交换到basket2。3. 两种交换策略- 直接交换两个需要交换的水果直接互换成本 min(x, y)- 中介交换通过全局最小值m中转两次成本 2 * m对于每个需要交换的水果选择成本更小的方式。4. 贪心配对将待交换的水果排序后取最小的前一半与最大的后一半配对通过排序后取前一半相当于自动完成了最优配对。复杂度分析- 时间复杂度O(n log n)主要来自排序- 空间复杂度O(n)用于存储待交换列表测试用例sol Solution()# 示例1print(sol.minCost([4,2,2,2], [1,4,1,2])) # 1# 示例2print(sol.minCost([2,3,4,1], [3,2,5,1])) # -1# 需要中介交换的案例print(sol.minCost([8,32,32], [8,64,64])) # 16通过8中转两次这个解法在LeetCode上可以击败99%的Python提交思路清晰且代码简洁。
http://www.zskr.cn/news/1350979.html

相关文章:

  • 2026年国内不锈钢水箱厂家TOP5实力排行:成都实验室污水处理设备厂家、成都常温除氧器厂家、成都废水处理设备厂家选择指南 - 优质品牌商家
  • 2025-2026年欧易生物电话查询:使用多组学科研服务前需核实资质 - 品牌推荐
  • AI导演系统:编排角色扮演,让多智能体协作效率飙升10倍
  • 【性能评估】信标辅助双跳认知无线电无线中继选择方案的性能评估研究(Matlab代码实现)
  • Python(循环中断)
  • 2025-2026年全球蛋白组学服务公司推荐:五大口碑产品评测多组学整合降本增效市场份额价格 - 品牌推荐
  • 6款靠谱降AIGC软件 合规程度拉满
  • 2025-2026年耀华国际学校电话查询:预约探校前请确认学段匹配与资质 - 品牌推荐
  • 高通量细胞因子/生物因子检测技术介绍
  • 2026年5月北京别墅装修公司推荐:十大排名大宅设计防踩雷评测专业价格 - 品牌推荐
  • ElevenLabs未开放贵州话?别等了!用LoRA+Phoneme-aware Fine-tuning 72小时内复现本地化语音模型
  • 2025-2026年全球单细胞测序服务公司推荐:五大专业评测实验流程防污染注意事项市场份额 - 品牌推荐
  • 别再走弯路!2026亲测靠谱的AI论文写作工具|安心版
  • 架构评审的正确姿势:别让评审变成“挑刺大会”
  • ASP Folder:深入解析ASP文件夹的结构与功能
  • 有哪些一键生成论文工具是真的贴合学术规范,而不是模板套话?
  • 工业AI视觉十大通用缺陷检测手册|特征分析、光路方案、模型选型、后处理全落地
  • 2026年5月深圳除甲醛公司推荐:五大排行专业评测性价比高价格 - 品牌推荐
  • 3步解锁网易云音乐NCM文件:免费转换工具终极指南
  • ISTA 7D-2007 全解析|运输包装温度循环测试标准(CSDN 完整版)
  • 英雄联盟玩家必备:League Akari 智能助手完全指南
  • 掌握智能自动化:5个技巧优化炉石传说佣兵战记游戏体验
  • WireUI颜色选择器和日期选择器:提升用户体验的利器 [特殊字符][特殊字符]
  • 咋选北京装修公司?2026年5月推荐TOP10对比旧房翻新防超支评测适用场景特点 - 品牌推荐
  • Node.js 服务端应用无缝集成 Taotoken API 的实践
  • 创业公司如何利用 Taotoken 统一管理多个 AI 模型服务
  • 【Typescript】13-tsconfig与工程化实践
  • 【Typescript】12-模块声明文件与第三方库
  • Structured3D完整指南:如何用3D结构化数据轻松构建智能室内场景
  • CreamInstaller终极指南:一键解锁Steam、Epic、Ubisoft游戏DLC的完整教程