LeetCode LCP 18. 早餐组合 JAVA
小扣在秋日市集选择了一家早餐摊位,一维整型数组 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相关推荐
- ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 小扣在秋日市集选择了一 ...
- 【Leetcode】 LCP 18. 早餐组合(简单)
1. 题目 小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x ...
- LCP 18.早餐组合
小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x 元.请返回 ...
- LCP 18. 早餐组合
小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且花费不超过 x 元.请返回 ...
- 【二分查找-简单】LCP 18. 早餐组合
题目 注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1 提示: 1 <= staple.length <= 10^ ...
- LeetCode 18. 早餐组合
LCP 18. 早餐组合 小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格.小扣的计划选择一份主食和一款饮料,且 ...
- LeetCode——LCP 29. 乐团站位[简单]——分析及代码(Java)
LeetCode--LCP 29. 乐团站位[简单]--分析及代码[Java] 一.题目 二.分析及代码 1. 直接计算 (1)思路 (2)代码 (3)结果 三.其他 一.题目 某乐团的演出场地可视作 ...
- LeetCode题库整理【Java】—— 3 无重复字符的最长子串
LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...
- LeetCode题库整理【Java】—— 2 两数相加
LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...
最新文章
- flask异步操作_Python Flask后端异步处理(三)
- 浏览器页面有哪三层构成,分别是什么,作用是什么
- SAP Fiori应用的三种部署方式
- 综合评价模型的缺点_浅谈交通影响评价中不同交通预测方法的特性
- 通俗易懂的Redis数据结构基础教程
- linux指令笔试,Linux笔试常用命令
- linux测试dvi接口,Pro Capture-DVI 2路高清DVI采集卡 支持Linux系统更专业
- muy bien_配置Java EE应用程序或“将Bien付诸实践”
- Testing BlogJet
- batocera游戏整合包_安装游戏时电脑报错?提示XXX文件缺失?一个软件完美解决...
- C语言堆栈入门 —— 堆和栈的区别
- SQL Server编写存储过程小工具(三)
- tomcat ---- 启动,关闭和配置等等
- Oracle SQL自带函数整理
- 几个常用的JavaScript字符串处理函数
- webgis 行政图报错_开源WebGIS:地图发布与地图服务
- photoshop抠图怀恋抽出滤镜
- 李宝付玉龙河挖宝记(二)
- mysql 导出gtid_mysqldump导出时 --set-gtid-purged=OFF
- 程序员该如何把 Windows 系统打造的跟 Mac 一样牛逼?