小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 x 元。请返回小扣共有多少种购买方案。

注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1

示例 1:输入:staple = [10,20,5], drinks = [5,5,2], x = 15输出:6解释:小扣有 6 种购买方案,所选主食与所选饮料在数组中对应的下标分别是:
第 1 种方案:staple[0] + drinks[0] = 10 + 5 = 15;
第 2 种方案:staple[0] + drinks[1] = 10 + 5 = 15;
第 3 种方案:staple[0] + drinks[2] = 10 + 2 = 12;
第 4 种方案:staple[2] + drinks[0] = 5 + 5 = 10;
第 5 种方案:staple[2] + drinks[1] = 5 + 5 = 10;
第 6 种方案:staple[2] + drinks[2] = 5 + 2 = 7。示例 2:输入:staple = [2,1,1], drinks = [8,9,5,1], x = 9输出:8解释:小扣有 8 种购买方案,所选主食与所选饮料在数组中对应的下标分别是:
第 1 种方案:staple[0] + drinks[2] = 2 + 5 = 7;
第 2 种方案:staple[0] + drinks[3] = 2 + 1 = 3;
第 3 种方案:staple[1] + drinks[0] = 1 + 8 = 9;
第 4 种方案:staple[1] + drinks[2] = 1 + 5 = 6;
第 5 种方案:staple[1] + drinks[3] = 1 + 1 = 2;
第 6 种方案:staple[2] + drinks[0] = 1 + 8 = 9;
第 7 种方案:staple[2] + drinks[2] = 1 + 5 = 6;
第 8 种方案:staple[2] + drinks[3] = 1 + 1 = 2;提示:1 <= staple.length <= 10^5
1 <= drinks.length <= 10^5
1 <= staple[i],drinks[i] <= 10^5
1 <= x <= 2*10^5来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/2vYnGI
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解:简单的排序加二分搜索

class Solution {public int breakfastNumber(int[] staple, int[] drinks, int x) {int res=0;Arrays.sort(staple);Arrays.sort(drinks);for(int i=staple.length-1;i>=0;i--){if(staple[i]>=x) continue;int remain=x-staple[i];res=(res+binarySearch(drinks,remain,0,drinks.length))%1000000007;}return res;}public int binarySearch(int []drinks,int max,int low,int high){while(low<high){int mid=low+(high-low)/2;if(drinks[mid]>max)high=mid;else low=mid+1;}return low;}
}

LeetCode LCP 18. 早餐组合 JAVA相关推荐

  1. ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   小扣在秋日市集选择了一 ...

  2. 【Leetcode】 LCP 18. 早餐组合(简单)

    1. 题目 小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x ...

  3. LCP 18.早餐组合

    小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x 元.请返回 ...

  4. LCP 18. 早餐组合

    小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x 元.请返回 ...

  5. 【二分查找-简单】LCP 18. 早餐组合

    题目 注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1 提示: 1 <= staple.length <= 10^ ...

  6. LeetCode 18. 早餐组合

    LCP 18. 早餐组合 小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且 ...

  7. LeetCode——LCP 29. 乐团站位[简单]——分析及代码(Java)

    LeetCode--LCP 29. 乐团站位[简单]--分析及代码[Java] 一.题目 二.分析及代码 1. 直接计算 (1)思路 (2)代码 (3)结果 三.其他 一.题目 某乐团的演出场地可视作 ...

  8. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

  9. LeetCode题库整理【Java】—— 2 两数相加

    LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...

最新文章

  1. flask异步操作_Python Flask后端异步处理(三)
  2. 浏览器页面有哪三层构成,分别是什么,作用是什么
  3. SAP Fiori应用的三种部署方式
  4. 综合评价模型的缺点_浅谈交通影响评价中不同交通预测方法的特性
  5. 通俗易懂的Redis数据结构基础教程
  6. linux指令笔试,Linux笔试常用命令
  7. linux测试dvi接口,Pro Capture-DVI 2路高清DVI采集卡 支持Linux系统更专业
  8. muy bien_配置Java EE应用程序或“将Bien付诸实践”
  9. Testing BlogJet
  10. batocera游戏整合包_安装游戏时电脑报错?提示XXX文件缺失?一个软件完美解决...
  11. C语言堆栈入门 —— 堆和栈的区别
  12. SQL Server编写存储过程小工具(三)
  13. tomcat ---- 启动,关闭和配置等等
  14. Oracle SQL自带函数整理
  15. 几个常用的JavaScript字符串处理函数
  16. webgis 行政图报错_开源WebGIS:地图发布与地图服务
  17. photoshop抠图怀恋抽出滤镜
  18. 李宝付玉龙河挖宝记(二)
  19. mysql 导出gtid_mysqldump导出时 --set-gtid-purged=OFF
  20. 程序员该如何把 Windows 系统打造的跟 Mac 一样牛逼?

热门文章

  1. JVM总结之内存区域详解
  2. U盘文件系统,分配单元大小,快速格式化与格式化的不同
  3. 【ZJOI2014】【BZOJ3527】 力 (FFT)
  4. sh执行文件 参数传递_详解shell中脚本参数传递的两种方式
  5. 城堡 The Castle
  6. putty ssh 连接报错: unexpeted SSH2_MSG_UNIMPLEMENTED packet
  7. 正睿OI补题(递归与递推,前缀和与差分)
  8. 网页动态加载(loading)GIF图标
  9. (转载) 改变人生的五句话
  10. Linux服务器被攻击了怎么办