小扣在秋日市集选择了一家早餐摊位,一维整型数组 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

示例代码1:

【下面代码耗时过于严重,不予采纳】

class Solution(object):def breakfastNumber(self, staple, drinks, x):""":type staple: List[int]:type drinks: List[int]:type x: int:rtype: int"""staple.sort()drinks.sort()count = 0for i in staple:for j in drinks:if i + j <= x:count += 1else:breakreturn count

示例代码2:

class Solution(object):def breakfastNumber(self, staple, drinks, x):""":type staple: List[int]:type drinks: List[int]:type x: int:rtype: int"""staple.sort()drinks.sort()n, m = len(staple), len(drinks)count = 0i, j = 0, m-1while i < n and j >= 0:if staple[i] + drinks[j] <= x:count += j+1i += 1else:j -= 1return count % 1000000007
双指针:i, j 分别指向排序后的 staple 和 drinks 的头尾, 一个向后遍历,一个向前遍历时间复杂度:O(mlogm + nlogn + m + n)时间复杂度:O(1)1. if staple[i] + drinks[j] <= x: 说明第 i 个 staple 和 前 j+1 个 drinks 都满足条件(因为已经排序),所以这次有 j+1 个满足条件的组合;然后 i++;2. if staple[i] + drinks[j] > x:说明当前值过大,那么要减小和,就把 j 往前移,即 j-- ,继续找下一个满足条件的 i 和 j

早餐组合(购买方案)相关推荐

  1. LCP 18.早餐组合

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

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

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

  3. 【早餐组合(LCP-18-java)】

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

  4. LeetCode 18. 早餐组合

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

  5. 【编程题】【Scratch四级】2022.03 早餐组合

    早餐组合 小猫家附近的早餐店会供应两种饮料和四种点心,饮料和点心只能各选一种,问共有多少种不同的早餐搭配? 饮料:豆浆,牛奶 点心:蛋糕.油条.饼干.面包 1. 准备工作 (1)保留舞台白色背景和默认 ...

  6. LCP 18. 早餐组合

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

  7. 王达老师视频课程“会员”优惠购买方案

    王达老师视频课程"会员"优惠购买方案 课程背景介绍 自今年3月份以来,王达老师应广大读者朋友的要求开始了他的视频课程创作之旅,目前已完成了140多个课时的课程创作,并发布到他在51 ...

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

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

  9. LeetCode LCP 18. 早餐组合 JAVA

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

最新文章

  1. CVPR 2021:记一次神奇的 Rebuttal 经历
  2. 计算机连接外设的端口驱动,将 KMDF 外设驱动程序连接到串行端口
  3. pycharm如何设置注释的字体颜色
  4. 已经感冒好长一段时间了 不过今天我的新blog开张
  5. 科大星云诗社动态20210402
  6. c语言判断整数_C语言技能|(草稿,不断完善中...)
  7. One River CEO:从长远来看比特币可能达到每枚50万美元
  8. python django异步访问_初试Ajax异步请求(基于Django框架)
  9. Beta阶段第1周/共2周 Scrum立会报告+燃尽图 06
  10. [20180812]四校联考
  11. WCF笔记--泛型与集合数据类型
  12. android Tbs腾讯X5内核初始化失败
  13. Oracle索引原理
  14. 城市天际线伊甸园39W人口存档
  15. 最优灵活体系结构(Optimal Flexible Architecture,OFA)
  16. 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架
  17. Python_Task01:变量、运算符、数据类型及位运算
  18. Adobe Illustrator CC 2018制作七巧板
  19. 列表2:查询复制函数实操
  20. ShareMouse ,解决鼠标失灵的问题

热门文章

  1. 应用在大规模推荐系统,Facebook提出组合embedding方法 | KDD 2020
  2. 倒计时 4 天!高通人工智能应用创新大赛颁奖典礼线上隆重举行
  3. NLP被英语统治?打破成见,英语不应是「自然语言」同义词
  4. 肖仰华:知识图谱落地,不止于“实现”
  5. 罗永浩“咬定”微信不放松
  6. 专访英特尔AIPG全球研究负责人Casimir Wierzynski:物理学、隐私和大脑将根本性塑造AI...
  7. 3天学会TensorFlow | 香港科技大学
  8. 如何使用 Spring 实现策略模式+工厂模式
  9. 牛逼,国产开源的远程桌面火了,只有9MB,支持自建中继器!
  10. “三高”程序员谈:“三高”集群架构 哈哈哈!!!