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

LCP 18.早餐组合

​​题目来源:

        leetcode题目,网址:LCP 18. 早餐组合 - 力扣(LeetCode)

解题思路:

       按序遍历饮料数组,二分查找符合要求 staple 中满足要求的最大值所在位置。最后返回所有*(最大位置+1)之和即可。

解题代码:

class Solution {public int breakfastNumber(int[] staple, int[] drinks, int x) {int res=0;Arrays.sort(staple);Arrays.sort(drinks);int pre=staple.length-1;for(int i=0;i<drinks.length;i++){int thisPos=getPos(staple,pre,x-drinks[i]);if(thisPos==-1){break;}else{res+=thisPos+1;res=res%1000000007;pre=thisPos;}}return res;}public int getPos(int[] arr,int right,int max){if(arr[right]<=max){return right;}else if(arr[0]>max){return -1;}int left=0;int mid=left+(right-left)/2;while(!(arr[mid]<=max && arr[mid+1]>max)){mid=left+(right-left)/2;if(arr[mid]>max){right=mid-1;}else{left=mid+1;}}return mid;}
}
 

总结:

        无官方题解。


http://www.lryc.cn/news/171548.html

相关文章:

  • Tomcat调优【精简版】
  • 通过NDK编译C程序运行在iMX6q开发板上
  • 【学习笔记】Java 一对一培训(2.1)Java基础语法
  • 外贸独立站哪家好?推荐的独立站建站平台?
  • 六、变量与常量
  • Fork() 函数:“父” 与 “子” 进程的交互(进程的创建)
  • JupyterNotebook设置Python环境的方法步骤
  • 腾讯云阿里云云服务器 Linux 操作系统 BT 宝塔面板快速建站教程
  • 【Linux】死锁理解
  • 基于Java所涉及的人工智能的框架
  • 【力扣】三角形最小路径和
  • 【Linux】指针常量和常量指针
  • LCP 22.黑白方格画
  • Java并发编程第8讲——ThreadLocal详解
  • 2023复旦大学计算机科学技术(网络空间安全)保研记录
  • linux系统通过docker安装python的jieba,如何找到jieba路径替换分词文件
  • Python Functions-函数
  • 【人工智能】机器学习的入门与提升
  • WEB漏洞原理之---【XMLXXE利用检测绕过】
  • element-table排序icon没有点亮
  • 传统的经典问题 Java 的 Interface 是干什么的
  • Linux 文件 目录管理
  • QT信号槽实现原理
  • 7-7 求鸡兔数量
  • CTF 全讲解:[SWPUCTF 2022 新生赛]webdog1__start
  • 聊天机器人
  • 肖sir__mysql之综合题练习__013
  • 阿里云服务器部署安装hadoop与elasticsearch踩坑笔记
  • Golang 中 int 类型和字符串类型如何相互转换?
  • **20.迭代器模式(Iterator)