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

LeetCode:2300. 咒语和药水的成功对数(C++)

目录

2300. 咒语和药水的成功对数

题目描述:

实现代码与解析:

二分

原理思路:


2300. 咒语和药水的成功对数

题目描述:

        给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。

同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success ,那么它们视为一对 成功 的组合。

请你返回一个长度为 n 的整数数组 pairs,其中 pairs[i] 是能跟第 i 个咒语成功组合的 药水 数目。

示例 1:

输入:spells = [5,1,3], potions = [1,2,3,4,5], success = 7
输出:[4,0,3]
解释:
- 第 0 个咒语:5 * [1,2,3,4,5] = [5,10,15,20,25] 。总共 4 个成功组合。
- 第 1 个咒语:1 * [1,2,3,4,5] = [1,2,3,4,5] 。总共 0 个成功组合。
- 第 2 个咒语:3 * [1,2,3,4,5] = [3,6,9,12,15] 。总共 3 个成功组合。
所以返回 [4,0,3] 。

示例 2:

输入:spells = [3,1,2], potions = [8,5,8], success = 16
输出:[2,0,2]
解释:
- 第 0 个咒语:3 * [8,5,8] = [24,15,24] 。总共 2 个成功组合。
- 第 1 个咒语:1 * [8,5,8] = [8,5,8] 。总共 0 个成功组合。
- 第 2 个咒语:2 * [8,5,8] = [16,10,16] 。总共 2 个成功组合。
所以返回 [2,0,2] 。

实现代码与解析:

二分

class Solution {
public:bool check(int &mid, vector<int> &potions, vector<int> &spells, long long &success, int &k) {if (1ll * spells[k] * potions[mid] >= success)  {return true;}return false;}vector<int> successfulPairs(vector<int>& spells, vector<int>& potions, long long success) {int n = spells.size(), m = potions.size();sort(potions.begin(), potions.end());vector<int> res;for (int k = 0; k < n; k++) {int i = 0, j = m;while (i < j) {int mid = i + j >> 1;if (check(mid, potions, spells, success, k)) j = mid;else i = mid + 1;}res.push_back(m - j);}return res;}
};

原理思路:

        先排序,然后二分结果。

相关文章:

LeetCode:2300. 咒语和药水的成功对数(C++)

目录 2300. 咒语和药水的成功对数 题目描述&#xff1a; 实现代码与解析&#xff1a; 二分 原理思路&#xff1a; 2300. 咒语和药水的成功对数 题目描述&#xff1a; 给你两个正整数数组 spells 和 potions &#xff0c;长度分别为 n 和 m &#xff0c;其中 spells[i] 表…...

【Spring生命周期核心底层源码之剖析】

文章目录 一、Spring生命周期核心底层源码剖析—扫描1.1、Spring底层扫描机制doScan方法源码剖析 一、Spring生命周期核心底层源码剖析—扫描 1.1、Spring底层扫描机制doScan方法源码剖析 其源代码如下&#xff1a; protected Set<BeanDefinitionHolder> doScan(Strin…...

关于Thread.sleep方法的一些使用

Thread.sleep方法的作用就是使当前线程暂停执行一段指定的时间。 它的参数是以ms为单位的时间参数&#xff0c;表示暂停时间长度。如Thread.sleep(1000);表示暂停1s。 这个方法通常用在以下一些情况&#xff1a; 1、模拟延迟&#xff1a;在某些情况下&#xff0c;我们希望在…...

MeterSphere | 前端入参加密

项目场景&#xff1a; 在 MeterSphere 开源框架中&#xff0c;解决前端手机号入参加密 解决方案&#xff1a; 导入 JavaScript 包采用加密算法 导入网上 JavaScript 包 // 1. 通过cdn加载网上的js文件 g new Packages.org.mozilla.javascript.tools.shell.Global(Packages.o…...

微服务如何做负载均衡?

笔者在参与联通某子公司时&#xff0c;遇到了这样一个问题。感觉比较实际&#xff0c;特来记录一波。 先看腾讯混元的解答&#xff1a; 微服务架构中&#xff0c;负载均衡是必不可少的。在微服务中&#xff0c;负载均衡可以通过以下几种方式来实现&#xff1a; 1. DNS轮询&am…...

C++高级编程:构建高效稳定接口与深入对象设计技巧

C高级编程&#xff1a;构建高效稳定接口与深入对象设计技巧 建立稳定接口 类是C中的主要抽象单位。你应该将抽象原则应用于你的类&#xff0c;尽可能将接口与实现分离。具体来说&#xff0c;你应该使所有数据成员私有&#xff0c;并可选择性地提供getter和setter方法。这就是…...

Qt——连接mysql增删查改(仓库管理极简版)

目录 UI布局设计 .pro文件 mainwindow.h main.cpp UI布局设计 .pro文件 QT core gui QT core gui sql QT sqlgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any …...

Panda3d 场景管理

Panda3d 场景管理 文章目录 Panda3d 场景管理有关分层场景图的重要信息NodePathNodePath 以及 Node 的函数调用模型文件文件格式加载模型文件将模型放置在场景图中模型缓存压缩模型异步加载模型通过回调函数进行 常见的状态变化修改节点的位置和姿态改变父级节点改变颜色隐藏和…...

京东数据分析(京东销量):2023年9月京东投影机行业品牌销售排行榜

鲸参谋监测的京东平台9月份投影机市场销售数据已出炉&#xff01; 根据鲸参谋电商数据分析平台的相关数据数据显示&#xff0c;9月份&#xff0c;京东平台投影机的销量为13万&#xff0c;环比下滑约17%&#xff0c;同比下滑约25%&#xff1b;销售额将近2.6亿&#xff0c;环比下…...

uniapp cli化一键游项目启动报错总结

问题1、使用hbuilder运行指令&#xff0c;开始编译后没有反应&#xff0c;使用命令构建自行结束进程 解决&#xff1a;因为使用了node16.24&#xff0c;卸载重新安装14.17后解决 问题2、 21:31:11.483 Module build failed (from ./node_modules/vue/cli-service/node_module…...

我的月光宝盒初体验失败了

哈哈哈&#xff0c;我爱docker, docker 使我自由&#xff01;&#xff01;&#xff01; docker make me free! 菠萝菠萝蜜口号喊起来。 https://github.com/vivo/MoonBox/ windows上安装好了docker之后&#xff0c;docker-compose是自带的。 docker-compose -f docker-compo…...

vue3+vite搭建后台项目-1 引入element-plus 中文包,打包时报错问题

vue3vite搭建后台项目-1 引入element-plus 中文包,打包时报错问题 终端报错 If theelement-pluspackage actually exposes this module, try adding a new declaration (.d.ts) file containing are moduleelement-plus/dist/locale/zh-cn.mjsdec import zhCn fromelement-plus…...

带你详细了解git的【分支和标签】

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《git》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;…...

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测 目录 分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO-LSTM粒子群算法优化长短…...

Spring 事务失效的场景

1.直接new出来的对象添加事务不起作用&#xff0c;因为只有spring定义的bean才接受事务。 2.由于mysql的引擎用Myisam不支持事务&#xff0c;所以如果使用mysql的myisam引擎的话&#xff0c;事务不起作用。 3.如果Transaction注解到非public方法上&#xff0c;事务不起作用&…...

酷柚易汛ERP-自定义打印整体介绍

1、产品介绍 每种单据系统预设常用模板&#xff0c;提供A4纸张、三等分、二等分&#xff0c;销货单额外提供80mm、58mm供用户选择&#xff1b;每张单据可设置一个默认模板和多个常用模&#xff1b;除默认模板外&#xff0c;其他模板都允许删除&#xff0c;用户可以根据公司业务…...

activiti命令模式与责任链模式

来源&#xff1a;activiti学习&#xff08;七&#xff09;——命令模式和职责链模式在activiti中的应用 文章目录 设计模式命令模式CommandHelloCommandByeCommand ReceiverInvokerClient 职责链模式AbstractHandlerConcreteHandlerAConcreateHandlerB Client activiti中很多ap…...

C++20 Text formatting

C20 Text formatting 格式化字符串&#xff0c; 和 python 类似。 std::formatter - cppreference.com string — Common string operations — Python 3.12.0 documentation 新格式库位于 <format> 头文件中。格式库基于 Python3 中的 str.format() 方法建模。格式…...

redis-plus-plus--github中文翻译--2

12 能不能举个例子 当然可以。以下是一个具体的例子,说明如何使用cmake命令为redis-plus-plus配置编译和安装路径: 假设: hiredis 被安装在 /opt/libs/hiredis你想要将 redis-plus-plus 安装到 /opt/libs/redis-plus-plus那么,你可以使用以下的 cmake 命令: cmake -DCM…...

Vuex状态管理:Getters :VOA模式

简介&#xff1a; Getters 用于对 Store 中的数据进行加工处理形成新的数据。 Getters 可以对 Store 中已有的数据加工处理之后形成新的数据&#xff0c;类似 Vue 的计算属性。 Store 中数据发生变化&#xff0c;Getters 的数据也会跟着变化。 案列 /src/store/index.js状态…...

2025必备!5款免费AI论文检测工具实测,低查重高原创一站搞定

本文整理了目前学术场景下实用性拉满的AI论文辅助工具&#xff0c;覆盖AIGC检测、降重、降AI率全流程需求&#xff0c;帮你轻松应对论文查重与AI检测双重关卡。 在学术研究与论文写作过程中&#xff0c;内容原创性、无抄袭风险是最基础的要求。近年来随着AI写作工具的普及&…...

F2803x DSP ePWM模块实战:从基础配置到高精度电机控制

1. ePWM模块基础配置与电机控制入门 第一次接触F2803x的ePWM模块时&#xff0c;我完全被那些专业术语搞懵了。什么时基模块、比较模块、动作模块&#xff0c;听起来就像天书。但当我真正动手配置一个简单的电机驱动电路后&#xff0c;才发现这套系统设计得非常巧妙。下面我就用…...

告别网络依赖!手把手教你下载并本地部署Mermaid.js(附完整HTML模板)

彻底告别网络依赖&#xff1a;零基础实现Mermaid.js本地化部署实战指南 在技术文档撰写、系统架构设计或项目汇报的场景中&#xff0c;可视化图表的重要性不言而喻。Mermaid作为一款基于文本描述的图表生成工具&#xff0c;凭借其简洁的语法和丰富的图表类型&#xff0c;已经成…...

漫画迷的离线宝库:一键构建你的私人漫画图书馆

漫画迷的离线宝库&#xff1a;一键构建你的私人漫画图书馆 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为网络不稳定无法畅快阅读漫…...

intv_ai_mk11应用场景:研发团队每日站会纪要自动生成与关键结论提炼

intv_ai_mk11应用场景&#xff1a;研发团队每日站会纪要自动生成与关键结论提炼 1. 研发团队的站会痛点 每天早上9:30&#xff0c;技术团队都会准时开始15分钟的站会。每个成员轮流发言&#xff0c;汇报昨日进展、今日计划和遇到的障碍。这种敏捷开发实践虽然高效&#xff0c…...

Supersonic音乐播放器深度解析:自托管音乐服务的现代化桌面客户端架构

Supersonic音乐播放器深度解析&#xff1a;自托管音乐服务的现代化桌面客户端架构 【免费下载链接】supersonic A lightweight and full-featured cross-platform desktop client for self-hosted music servers 项目地址: https://gitcode.com/gh_mirrors/sup/supersonic …...

微软新 Xbox 负责人阿莎·夏尔马忙不停:Game Pass 定价待调,“螺旋计划”影响几何?

承诺“Xbox 回归”后&#xff0c;负责人忙不停微软新任 Xbox 负责人承诺“Xbox 回归”后&#xff0c;一直忙得不可开交。阿莎夏尔马在 3 月游戏开发者大会上与发行商会面&#xff0c;最近几周走访微软旗下游戏工作室和产品团队。曾在微软 CoreAI 部门工作的她目前处于学习阶段&…...

3步掌握通达信缠论分析:从理论到实战的完整指南

3步掌握通达信缠论分析&#xff1a;从理论到实战的完整指南 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 你是否曾经面对复杂的K线图感到困惑&#xff1f;是否想要将缠论的精髓转化为直观的交易信号&a…...

D2RML:终极暗黑2重制版多开管理工具,5分钟掌握高效多账户操作

D2RML&#xff1a;终极暗黑2重制版多开管理工具&#xff0c;5分钟掌握高效多账户操作 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML D2RML&#xff08;Diablo 2 Resurrected Multilauncher&#xff09…...

Windows 系统 Miniconda的安装和使用

&#x1f4e5; 第一步&#xff1a;下载与安装首先&#xff0c;从官网下载安装程序&#xff0c;然后按以下步骤操作。1. 下载安装程序访问 Miniconda 官方下载页面。选择 Windows 64-bit 版本的安装程序&#xff08;文件名类似 Miniconda3-latest-Windows-x86_64.exe&#xff09…...