LeetCode LCP 28. 采购方案(排序 + 二分查找)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

小力将 N 个零件的报价存于数组 nums。
小力预算为 target,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。

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

示例 1:
输入:nums = [2,5,3,5], target = 6
输出:1
解释:预算内仅能购买 nums[0] 与 nums[2]。示例 2:
输入:nums = [2,2,1,9], target = 10
输出:4
解释:符合预算的采购方案如下:
nums[0] + nums[1] = 4
nums[0] + nums[2] = 3
nums[1] + nums[2] = 3
nums[2] + nums[3] = 10提示:
2 <= nums.length <= 10^5
1 <= nums[i], target <= 10^5

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/4xy4Wx
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 排序,对每个零件 ,二分查找它之前的最大的可能的上限,都可以作为组合
class Solution {
public:int purchasePlans(vector<int>& nums, int target) {sort(nums.begin(),nums.end());long long ans = 0, mod = 1e9+7;for(int i = 0; i < nums.size(); ++i){if(nums[i] >= target)break;int left = target - nums[i];//最大的 另一个值auto d = upper_bound(nums.begin(),nums.begin()+i,left) - nums.begin();// i 之前的 上限位置ans = (ans + d)%mod;}return ans;}
};

180 ms 58.6 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中输出语句怎么写,JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)...

JavaScript 输出JavaScript 没有任何打印或者输出的函数。JavaScript 显示数据JavaScript 可以通过不同的方式来输出数据&#xff1a;使用 window.alert()弹出警告框。使用 document.write()方法将内容写到 HTML 文档中。使用innerHTML写入到 HTML 元素。使用 console.log()写入…

c语言中阶乘相加怎么表示_c语言中如何计算n的阶乘

c语言计算n阶乘的方法&#xff1a;首先创建一个脚本文件&#xff0c;并编写头文件&#xff1b;然后定义一个“i”变量用来循环&#xff0c;以及定义变量“n”&#xff1b;接着用“sum”来保存结果&#xff1b;最后运行该脚本文件即可实现n阶乘。C语言中求阶乘的计算其实就是从1…

@service注解_Spring 中 @Component、@Service 等注解如何被解析?

前言Component和Service都是工作中常用的注解&#xff0c;Spring如何解析&#xff1f;1.Component解析流程找入口Spring Framework2.0开始&#xff0c;引入可扩展的XML编程机制&#xff0c;该机制要求XML Schema命名空间需要与Handler建立映射关系。该关系配置在相对于classpat…

SAP中货源清单创建的几种方法

SAP中采购货源清单创建的方法有以下几种&#xff1a;1、ME01 手动逐个创建。2、ME05 系统自动批量创建。3、通过信息记录中的菜单“附加”&#xff0d;“源清单”创建。4、通过采购合同中的菜单“项目”&#xff0d;“维护货源清单”创建。5、通过计划协议中的菜单“项目”&…

svg载入html,SVG系列教程:SVG简介与嵌入HTML页面的方式

随着技术向前的推进&#xff0c;SVG相关的讨论也越渐频繁。为了紧跟时代的步伐&#xff0c;我也开始步入SVG相关技术的探索与学习之中。从这篇文章开始会在W3cplus站点上陆续向大家推出有关于SVG相关的教程、译文或案例等。感兴趣的同学可以跟随着教程一起了解与学习SVG相关的知…

LeetCode LCP 30. 魔塔游戏(优先队列)

文章目录1. 题目2. 解题1. 题目 小扣当前位于魔塔游戏第一层&#xff0c;共有 N 个房间&#xff0c;编号为 0 ~ N-1。 每个房间的补血道具/怪物对于血量影响记于数组 nums&#xff0c;其中&#xff1a; 正数表示道具补血数值&#xff0c;即血量增加对应数值&#xff1b;负数表…

字符变量赋值规则_Java的常量、变量、数据类型(基础篇二)

标识符标识符&#xff1a;是指在程序中自己定义的内容&#xff0c;如类名、方法名、变量名等等。命名规则&#xff1a;是有硬性要求的关键字&#xff1a;是指Java已经定义好的单词&#xff0c;具有特殊含义&#xff0c;比如public、static、class、void等等标识符可以包含英文字…

python桌面快捷图标_Python创建、删除桌面、启动组快捷方式的例子分享

一、Python创桌面建快捷方式的2个例子 例子一&#xff1a; 代码如下: import os import pythoncom from win32com.shell import shell from win32com.shell import shellcon def createDesktopLnk(filename,lnkname): shortcut pythoncom.CoCreateInstance( shell.CLSID_Shell…

EF---延迟加载技术

EF---延迟加载技术 及时加载延迟加载IQueryabler和IEnumerable优秀&#xff1a;必要的等待&#xff08;拼接sql&#xff09;按需加载 Include 实体状态add,remove,savechanges根据EF包装实体的State进行相应的增删改查操作。如何控制包装实体的状态entry 普能实体与EF实体的区别…

html中li的圆点,CSS中li圆点样式

li {list-style-type:符号名称}css中用list-style-type指定列表(lists)前面符号,如下&#xff1a;li {list-style-type:符号名称}符号名称可用的值为&#xff1a;disc :  CSS1 实心圆circle :  CSS1 空心圆square :  CSS1 实心方块decimal :  CSS1 阿拉伯数字lower-rom…

selenium定位输入框_[Selenium 粗浅笔记] 用Selenium填写表单

要做什么Steiner&#xff1a;[Selenium] 简单介绍​zhuanlan.zhihu.com我们用刚才学到的知识去用selenium来模拟与表单交互&#xff0c;还好有个可以练习的网站 test website 拿这个网站来试试输入用户名&#xff0c;密码ps: 其实这个自己在本地写个网页就行了&#xff0c;ajax…

LeetCode LCP 29. 乐团站位(数学 等差数列)

文章目录1. 题目2. 解题2.1 模拟超时2.2 优化通过1. 题目 某乐团的演出场地可视作 num * num 的二维矩阵 grid&#xff08;左上角坐标为 [0,0])&#xff0c;每个位置站有一位成员。 乐团共有 9 种乐器&#xff0c;乐器编号为 1~9&#xff0c;每位成员持有 1 个乐器。 为保证声…

python三引号注释_python使用三引号来注释的具体原因?

Why didnt python just use the traditional style of comments like C/C/Java uses: /** * Comment lines * More comment lines */ // line comments // line comments // Is there a specific reason for this or is it just arbitrary? 解决方案 Python doesnt use triple…

HiveQL: 数据定义

文章目录1. Hive 数据库2. 修改数据库3. 创建表3.1 管理表3.2 外部表4. 分区表、管理表5. 删除表6. 修改表学习自《Hive编程指南》1. Hive 数据库 create database DBname; hive (default)> show databases; OK default hive Time taken: 0.023 seconds, Fetched: 2 row(s…

can协议crc计算_详解CAN/CAN FD通信中的循环冗余校验(CRC)方法

数据校验是为保证数据的完整性进行的一种验证操作。CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据。在现场总线通信和控制的实际应用中,工业应用环境往往是极端的温度以及电磁噪声或是其他的恶劣环境,系统在这种条件下能否正…

PHP操作excel类 PHPExcel

PHP操作excel类 PHPExcel http://www.cr173.com/soft/40741.html 我的微云&#xff1a;http://share.weiyun.com/2db79f1438f87999cfb09ca05890d764 下载后&#xff1a; Tests/01simple.php 看代码就可以了 很简单 -------------------- 我的案例(打包)&#xff1a; 将dede…

天玑720支持鸿蒙系统吗,天玑720属于骁龙多少 天玑720处理器相当于骁龙几

天玑700是一款最新推出的5G入门级别的处理器&#xff0c;那么这款手机芯片相当于骁龙多少处理器&#xff1f;处理器性能怎么样&#xff1f;小编为大家带来最新的手机资讯对此感兴趣的小伙伴&#xff0c;快来看看吧。天玑700相当于骁龙多少&#xff1f;在手机的性能方面相当于骁…

html5 职工入职后台管理系统_ChemCMS是一款基于GO+PHP+MYSQL+HTML5构建的化学内容管理系统

ChemCMS是一款基于GOPHPMYSQLHTML5构建的化学内容管理系统&#xff0c;旨在提高化学类企业信息化管理水平&#xff0c;ChemCMS提供了行业所需的库存管理、订单管理、产品管理、客户管理、权限管理全部解决方案&#xff0c;同时我们还提供一体化的在线商城解决方案&#xff0c;大…

oem718d 基准站设置_RTK电台、网络模式作业设置流程

RTK作业的简要流程仪器架设完成基准站和移动站硬件架设与配置&#xff0c;搭建作业的硬件环境。新建工程创建工程&#xff0c;配置参数、坐标等基础信息&#xff0c;完成作业所需的数据基础。求转换参数匹配工程所需平面坐标和默认经纬度坐标&#xff0c;在作业中直接获得所需目…

委托和事件

事件的由来 上文说到委托的安全性不佳&#xff0c;于是我们要将委托本身私有化&#xff0c;但还要暴露若干方法让外界使用。其中最重要的必然就是为委托挂接方法和调用委托&#xff0c;以便间接地调用委托所代表方法。那么事件event关键字就是c#提供给我们的一个语法糖。他并没…