【每日一题】咒语和药水的成功对数

文章目录

  • Tag
  • 题目来源
  • 解题思路
    • 方法一:排序+二分
  • 写在最后

Tag

【排序+二分】【数组】【2023-11-10】


题目来源

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


解题思路

方法一:排序+二分

我们首先对 points 进行升序排序,然后枚举 spells 中的 x,需要找到在 points 中大于等于 ⌈ s u c c e s s x ⌉ \lceil{\frac {success}{x}} \rceil xsuccess 的数量。那我们找到在 points 中大于等于 ⌈ s u c c e s s x ⌉ \lceil{\frac {success}{x}} \rceil xsuccess 最小位置 idx 即可,这样在 points 中大于等于 ⌈ s u c c e s s x ⌉ \lceil{\frac {success}{x}} \rceil xsuccess 的数量就为 points.end() - idx

为什么要找在 points 中大于等于 ⌈ s u c c e s s x ⌉ \lceil{\frac {success}{x}} \rceil xsuccess 的数量?因为 xpoints 中的 y(某一瓶药水的能量强度)要满足:

x y > = s u c c e s s xy >= success xy>=success

找到满足上式的 y 的数量即为 x 对应的答案。上式即为 x > = ⌈ s u c c e s s x ⌉ x >= \lceil{\frac {success}{x}} \rceil x>=xsuccess

实现代码

class Solution {
public:
    vector<int> successfulPairs(vector<int> &spells, vector<int> &potions, long long success) {
        sort(potions.begin(), potions.end());
        for (int &x : spells) {
            long long target = (success + x - 1) / x;
            x = potions.end() - lower_bound(potions.begin(), potions.end(), target);
        }
        return spells;
    }
};

复杂度分析

时间复杂度: O ( m l o g m + n l o g m ) O(mlogm+nlogm) O(mlogm+nlogm) m m m 为数组 points 的长度, n n n 为数组 spells 的长度。

空间复杂度: O ( l o g m ) O(logm) O(logm)


写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA 编译项目时报错:java: java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法

1.问题简述 在Intellij IDEA下编译Java项目&#xff0c;报错&#xff1a;java.lang.OutOfMemoryError: …(此处忽略) GC overhead limit exceeded 2.问题分析 错误是发生在编译阶段&#xff0c;而不是运行阶段。通过查询相关资料发现&#xff0c; 1.idea编译Java项目使用的虚…

Adobe Photoshop 2020给证件照换底

1.导入图片 2.用魔法棒点击图片 3.点选择&#xff0c;反选 4.选择&#xff0c;选择并遮住 5.用画笔修饰证件照边缘 6. 7.更换要换的底的颜色 8.新建图层 9.使用快捷键altdelete键填充颜色。 10.移动图层&#xff0c;完成换底。

《开箱元宇宙》:认识香港麦当劳通过 The Sandbox McNuggets Land 的 Web3 成功经验

McNuggets Land 是 The Sandbox 于 2023 年发布的最受欢迎的体验之一。在本期的《开箱元宇宙》系列中&#xff0c;我们采访了香港麦当劳数位顾客体验暨合作伙伴资深总监 Kai Tsang&#xff0c;来了解这一成功案例背后的策略。 在不断发展的市场营销和品牌推广领域&#xff0c;不…

面试复习整理

redis持久化方式和原理 Redis持久化是指将Redis内存中的数据以某种形式保存到磁盘上&#xff0c;以保证在Redis重启后数据不会丢失。Redis支持两种持久化方式&#xff1a;RDB&#xff08;Redis DataBase&#xff09;和AOF&#xff08;Append Only File&#xff09;。 RDB持久…

深度学习之基于Python+OpenCV(DNN)性别和年龄识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Python和OpenCV的深度学习性别和年龄识别系统是一种利用深度学习模型来自动识别人脸照片中的性别和年龄的技术。…

2013年108计网

第33题 在 OSI 参考模型中, 下列功能需由应用层的相邻层实现的是()A. 对话管理B. 数据格式转换C. 路由选择D. 可靠数据传输 很显然&#xff0c;题目所问的应用层的相邻层是表示层。该层实现与数据表示相关的功能。选项a中的对话管理属于会话层。选项c中的路由选择属于网络层。…

从内存优化视角再看 Glide 图片加载库

前置背景 Glide 作为常用的图片加载框架&#xff0c;框架层面已经对内存方面有不少优化&#xff0c;但作为一个图片框架&#xff0c;确保正确性一定是第一位的&#xff0c;因此在应用层还可以在适当的场景做一些额外的优化&#xff0c;当然你需要了解优化设置可能产生的问题。…

隧道技术的三种应用场景(IPv6,多播,VPN)

目录 1.IPv6的隧道技术 2.多播路由选择 (1)洪泛 (2)隧道技术 (3)基于核心的发现技术 3.隧道技术实现&#xff08;VPN&#xff09;虚拟专用网 1.IPv6的隧道技术 IPv6与IPv4的过渡技术中包含了IPv6的隧道技术&#xff1a; http://t.csdnimg.cn/wuvXY 2.多播路由选择 转发…

通达OA V12 引入thinkphp5.1框架,读取OA的.ini文件

通达OA V12 引入thinkphp5.1框架&#xff0c;读取OA的.ini文件 内容绝对原创&#xff0c;希望对您有帮助。您的打赏&#xff0c;是让我持续更新的牛奶和面包 找到ini文件的绝对路径。$path“”;使用parse_ini_file($path,true,INI_SCANNER_RAW)&#xff0c;读取ini文件。 代码如…

【Python3】【力扣题】232. 用栈实现队列

【力扣题】题目描述&#xff1a; 栈&#xff1a;线性集合。后进先出。 队列&#xff1a;线性集合。先进先出。 【Python3】代码&#xff1a; 解题思路&#xff1a;两个栈&#xff0c;一个入队的栈&#xff0c;一个出队的栈。出栈时&#xff0c;若出队的栈为空&#xff0c;才将…

Unreal UnLua + Lua Protobuf

Unreal UnLua Lua Protobuf https://protobuf.dev/ protobuf wire format&#xff1a;pb 编译到底层的数据协议 https://github.com/starwing/lua-protobuf/blob/master/README.zh.md buffer 处理 lua string 可以当 buffer 用&#xff0c;# len 不会遇到 0 截断&#xf…

【Word自定义配置,超简单,图文并茂】自定义Word中的默认配置,比如标题大小与颜色(参考科研作图配色),正文字体等

▚ 01 自定义样式Styles中的默认标题模板 自定义标题的显示效果&#xff0c;如下图所示&#xff1a; 1.1 自定义标题的模板Normal.dotm 1.1.1 选择所需修改的标题 新建一个空白Word文档&#xff0c;依次选择菜单栏的开始Home&#xff0c;样式Styles&#xff0c;鼠标右键选择…

[工业自动化-8]:西门子S7-15xxx编程 - PLC主站 - CPU模块

目录 前言&#xff1a; 一、概述 二、CPU操作和显示 三、安装 四、CPU的选择 前言&#xff1a; 一、概述 西门子S7-1500系列是一系列高性能工业自动化控制器&#xff0c;广泛应用于制造业、自动化生产、物流等领域。这个系列的控制器是设计用来满足高性能、高效能要求的复…

代码审计(某个人发卡系统V6.0(php))

一、前台漏洞 1、前台文件包含漏洞(如果开启了gbc,可远程包含) 注入点1&#xff1a; tyid没任何过滤&#xff0c;存在注入 payload:http://faka.com/ajax.php?actselgo POST传参: tyid1/**/union/**/select/**/*/**/from/**/if_km/**/limit/**/0,1# 注入点2: 也是没加任何…

ElasticSearch的文档、字段、映射和高级查询

1. 文档&#xff08;Document&#xff09; 在ES中一个文档是一个可被索引的基础信息单元&#xff0c;也就是一条数据 比如&#xff1a;你可以拥有某一个客户的文档&#xff0c;某一个产品的一个文档&#xff0c;当然&#xff0c;也可以拥有某个订单的一个文档。文档以JSON&…

Code Review最佳实践

Code Review最佳实践 Code Review 我一直认为Code Review&#xff08;代码审查&#xff09;是软件开发中的最佳实践之一&#xff0c;可以有效提高整体代码质量&#xff0c;及时发现代码中可能存在的问题。包括像Google、微软这些公司&#xff0c;Code Review都是基本要求&…

系统的讲解 - PHP 接口签名验证

概览 工作中&#xff0c;我们时刻都会和接口打交道&#xff0c;有的是调取他人的接口&#xff0c;有的是为他人提供接口&#xff0c;在这过程中肯定都离不开签名验证。 在设计签名验证的时候&#xff0c;一定要满足以下几点&#xff1a; 可变性&#xff1a;每次的签名必须是不…

线性代数(六)| 二次型 标准型转换 正定二次型 正定矩阵

文章目录 1. 二次型化为标准型1.1 正交变换法1.2 配方法 2 . 正定二次型与正定矩阵 1. 二次型化为标准型 和第五章有什么样的联系 首先上一章我们说过对于对称矩阵&#xff0c;一定存在一个正交矩阵Q&#xff0c;使得$Q^{-1}AQB $ B为对角矩阵 那么这一章中&#xff0c;我们…

PyTorch语音识别的理论基础——MFCC

在语音识别研究领域&#xff0c;音频特征的选择至关重要。本书大部分内容中都在使用一种非常成功的音频特征—梅尔频率倒谱系数&#xff08;Mel-Frequency Cepstrum Coefficient&#xff0c;MFCC&#xff09;。 MFCC特征的成功很大程度上得益于心理声学的研究成果&#xff0c;…

字符三角形-第10届蓝桥杯国赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第6讲。 字符三角形&#x…