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

D.二分查找-进阶——2389. 和有限的最长子序列

题目链接:2389. 和有限的最长子序列(简单)

算法原理:

解法:二分查找

8ms击败25.52%

时间复杂度O(Nlogn)

①由于 结果数组存的是子序列最大长度,而不是子序列,所以可以打乱顺序,因此可以排序,进而使用二分

②由于结果数组是nums中 元素之和小于等于queries[i]的长度,所以用到的模型是求最右端点模型

③由于算的是累加和,所以可以用前缀和的思想,排序后求对应前缀和,在找到最右端点后,其下标就是咱们需要的下标

④小细节:最终left和right停留的位置是≤queries[i]的位置,但如果这个位置>queries[i]则说明left和right一直在第一个位置,且第一个位置就>queries[i],符合条件的个数是0

Java代码:

class Solution { public int[] answerQueries(int[] nums, int[] queries) { int n=nums.length,m=queries.length; int[] ret=new int[m];int index=0; //定义前缀和数组 int[] pre=new int[n]; Arrays.sort(nums); pre[0]=nums[0]; for(int i=1;i<n;i++) pre[i]=pre[i-1]+nums[i]; for(int x:queries){ int left=0,right=n-1; //找最右端点 while(left<right){ int mid=left+(right-left+1)/2; if(pre[mid]>x) right=mid-1; else left=mid; } ret[index++]=pre[left]<=x?left+1:0; } return ret; } }
http://www.jsqmd.com/news/90005/

相关文章:

  • TranslucentTB中文界面终极设置指南
  • AI播客震撼体验:量子物理对话竟由AI生成,声音真实到起鸡皮疙瘩
  • Freertos手把手教STM32CubeMx设置STM32F4芯片DMA发送ADC数据(三)
  • py连接mysql
  • py连接MongoDB
  • 5分钟快速上手uv-ui框架:跨平台Vue开发终极指南
  • 超详细教程:用windows-defender-remover彻底卸载Windows Defender
  • 国产AI双雄联手:Kimi K2开源与SunwayLink融合开启智能体开发新纪元
  • 10分钟精通League Akari:英雄联盟智能助手的全方位配置手册
  • ContextMenuManager:Windows右键菜单终极管理指南,3分钟告别杂乱无章![特殊字符]
  • 深蓝词库转换:输入法词库互转的终极解决方案
  • 还在为视频处理崩溃烦恼?Waifu2x-Extension-GUI分段处理让你轻松应对大文件
  • 如何用高效分块技术实现微信小程序大文件上传:3个关键性能优化技巧
  • BlenderGIS地形生成:从地理数据到三维世界的智能转换
  • uv-ui多端UI框架终极完整使用指南:从零开始快速构建跨平台应用
  • Predis连接管理终极指南:5分钟掌握Redis客户端故障自动恢复机制
  • Vue PDF组件实战:3分钟从零打造专业文档预览器
  • 解锁网盘高速下载:3步告别限速困扰的终极攻略
  • MarkText主题定制7大实战技巧:从新手到高手的视觉升级之路
  • 如何快速掌握NotepadNext十六进制编辑:面向初学者的终极指南
  • Nintendo Switch全能工具箱:NSC_BUILDER深度解析与实战指南
  • 阿里云通义万相2.2震撼开源:MoE架构引领视频生成革命,消费级显卡即可部署
  • DynoDrive Activation KESS3MKWO: Activate Alientech KESS3 Master/Slave Hardware for ECU Tuning
  • WinAsar:让Electron应用打包变得如此简单
  • 如何快速搭建个人音乐中心:三步实现专业级播放体验
  • 2025最新新媒体数据维护公司top5推荐!专业数据维护机构权威榜单发布,多维度助力品牌高效增长 - 全局中转站
  • 告警规则设置:根据监控数据设置合理的告警阈值与通知策略
  • 终极指南:用开源贴片机实现专业级电子制造
  • Zabbix与Prometheus在服务器及网络设备管理中的应用
  • ORM(Object-Relational Mapping,对象关系映射),一种编程技术