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

二分查找解题:咒语与药水的成功配对

二分查找

class Solution: def successfulPairs( self, spells: List[int], potions: List[int], success: int ) -> List[int]: ans = [] n = len(potions) potions.sort() for num in spells: left, right = 0, len(potions) while left < right: mid = (left + right) // 2 if num * potions[mid] < success: left = mid + 1 else: right = mid ans.append(n - left) return ans

定义ans列表接收答案,对列表potions排序,通过for循环遍历spells,判断每个咒语能成功的药水数。对中点处乘积判断,若小于success,则left=mid+1(因为索引小于等于mid的都小于success不满足条件),否则right=mid(mid左边的都满足条件)。由此求得满足大于等于success的第一个索引left,n-left即为满足条件的数。例:num = 5left=0,right=5,mid = 2(即3),3*5=15>success=7,执行right = 2,再更新mid = 1.此时left=0,right=2,mid = 1(对应数字为2),2*5=10>success = 7,执行right = 1,更新mid = 0,left = 0不变,更新mid = 0(对应1)1*5=5不满足left = 1,退出循环,即从1开始都满足,个数为n-1=4.依次循环操作。

http://www.jsqmd.com/news/526541/

相关文章:

  • 原生H5如何优雅拦截浏览器返回事件:全面屏侧滑退出的解决方案
  • 计算机毕业设计:Python动漫数据可视化分析系统全栈开发 Flask框架 可视化 爬虫 大数据 机器学习 番剧推荐(建议收藏)✅
  • AI技术在招投标中的应用方式与前景?
  • AI修复艺术画作可行吗?国画细节还原实战测试报告
  • 丹青幻境部署避坑指南:重点关注模型路径设置与Streamlit启动问题
  • 一图看懂|药师帮2025年度业绩:营收增逾17% 归母净利1.53亿增超4倍
  • LuatOS扩展库API——【air153C_wtd】外部硬件看门狗
  • Apache SeaTunnel 社区年终盘点
  • DOCTYPE(文档类型)的作用是什么?
  • 《Agent Skills:AI 能力的乐高时代》
  • Sora技术解析:从Diffusion Transformer到文本生成视频的突破与应用
  • 用 OpenClaw + 微信实现 AI 自动回复(附完整接入流程)
  • 【架构实战】云原生架构设计原则
  • Vue路由守卫全解析:从入门到实战,一文搞定权限控制与路由拦截
  • EcomGPT-中英文-7B电商模型入门教程:3步完成本地开发环境搭建与测试
  • Mirage Flow在Node.js环境下的部署与优化:从安装到生产
  • 新手必看:ERNIE-4.5-0.3B镜像开箱即用,5分钟体验AI对话
  • 保姆级教程:用FLUX.1和SDXL风格模板,零基础搞定AI绘画
  • 零门槛构建智能交易系统:TradingAgents-CN多场景部署指南与效能倍增实践
  • Jimeng LoRA效果展示:best quality提示词触发的8K级纹理细节生成
  • aiohttp存在目录遍历漏洞(CVE-2024-23334)
  • 6ES7223-1BL22-0XA8西门子数字量输入输出模块
  • 基于springboot 大数据+Hadoop+Spark的电力分析平台设计与开发(源码+精品论文+答辩PPT等资料)
  • DSP竞价案例
  • 【专访】3个维度10个问题,大佬带你全面解决软件测试质量难题
  • Java图书管理系统 | 无需配置任何环境,双击一键启动,开箱即用
  • ResNet在RML2018.01a上表现不佳的原因解析
  • Qwen3-ASR-0.6B轻量级ASR教程:如何微调模型适配特定行业术语
  • 避坑指南:Win Server2012部署VS2015时缺失api-ms-win-crt-runtime.dll的终极修复方案
  • 5分钟掌握TradingAgents-CN:开源多智能体金融交易框架实战指南