1499. 满足不等式的最大值 详解
1499. 满足不等式的最大值
题目测试数据保证至少存在一对能够满足 ∣ x i − x j ∣ < = k |x_i - x_j| <= k ∣xi−xj∣<=k的点。
- 在 1 < = i < j < = p o i n t s . l e n g t h 1 <= i < j <= points.length 1<=i<j<=points.length 的前提下, x i < x j x_i < x_j xi<xj 总成立。 ①
- 找出 y i + y j + ∣ x i − x j ∣ y_i + y_j + |x_i - x_j| yi+yj+∣xi−xj∣ 的 最大值,其中 ∣ x i − x j ∣ ≤ k |x_i - x_j| \leq k ∣xi−xj∣≤k 且 1 ≤ i < j ≤ p o i n t s . l e n g t h 1 \leq i < j \leq points.length 1≤i<j≤points.length。 ②
- y i + y j + ∣ x i − x j ∣ y_i + y_j + |x_i - x_j| yi+yj+∣xi−xj∣—> ( y i − x i ) + ( y j + x j ) (y_i-x_i)+(y_j+x_j) (yi−xi)+(yj+xj)
- ∣ x i − x j ∣ ≤ k |x_i - x_j| \leq k ∣xi−xj∣≤k —> x j − x i ≤ k x_j - x_i \leq k xj−xi≤k
由此我们使用pair<T1, T2>(当pair为堆元素时,默认使用first元素为基准进行排序) 分别存放:
T1 = y i − x i y_i-x_i yi−xi
T2 = x j − x i x_j - x_i xj−xi
正如我们所说,pair作为元素时以第一个元素为基准默认进行大根堆排序(降序)
因此我们每次进行 ∣ x i − x j ∣ ≤ k |x_i - x_j| \leq k ∣xi−xj∣≤k (k值)的合理性判断+ y i + y j + ∣ x i − x j ∣ y_i + y_j + |x_i - x_j| yi+yj+∣xi−xj∣最大值动态更新即可
代码如下:
class Solution {public:int findMaxValueOfEquation(vector<vector<int>>& points, int k) {priority_queue<pair<int, int>> q;q.push({points[0][1]-points[0][0], points[0][0]});// 首先先将第一个数传入,防止队列为空int ans = INT_MIN; // 把答案假定为 整型最小值 方便后期比较for(int i = 1; i < points.size(); ++i) {while(!q.empty()&&points[i][0]-q.top().second > k) { // 如果队列不为空 且合理性不通过,弹出当前与之比较的数据即可,直到合理为止q.pop();}if(!q.empty()) { // 如果不为空动态更新答案即可ans = max(ans, q.top().first + points[i][0]+points[i][1]);}q.push({points[i][1]-points[i][0], points[i][0]});} return ans;}
};
1499. 满足不等式的最大值 详解相关推荐
- EM算法(Expectation Maximization Algorithm)详解
EM算法(Expectation Maximization Algorithm)详解 主要内容 EM算法简介 预备知识 极大似然估计 Jensen不等式 EM算法详解 问题描述 EM算法推导 EM ...
- 1.16.Flink Window和Time详解、TimeWindow的应用、Window聚合分类之全量聚合、全量聚合状态变化过程-求最大值、Time介绍、EventTime和Watermarks等
1.16.Flink Window和Time详解 1.16.1.Window(窗口) 1.16.2.Window的类型 1.16.3.Window类型汇总 1.16.4.TimeWindow的应用 1 ...
- 定义域可以写成不等式吗_高一数学第一次月考考点之抽象函数定义域详解
高一数学第一次月考考点之抽象函数定义域详解 Hello,这里是摆渡学涯. 十一假期刚刚开始,你不能松懈哦!早点把考点复习完,早点可以开始自己的玩耍生活哦. 这次课程咱们来为大家讲一下抽象函数定义域的求 ...
- SVM分类器原理详解
SVM分类器原理详解 标签: svm文本分类java 2015-08-21 11:51 2399人阅读 评论(0) 收藏 举报 分类: 数据挖掘 文本处理(16) 机器学习 分类算法(10) 目 ...
- 【GAN优化】详解SNGAN(频谱归一化GAN)
今天将和大家一起学习具有很高知名度的SNGAN.之前提出的WGAN虽然性能优越,但是留下一个难以解决的1-Lipschitz问题,SNGAN便是解决该问题的一个优秀方案.我们将先花大量精力介绍矩阵的最 ...
- 窗口发送消息参数详解
窗口发送消息参数详解 // 窗口.发送消息 函数功能: 将指定的消息发送到一个窗口,同win32 api 里面的SendMessage等同的效果 中文函数原型: 发送消息(hwnd,msg ...
- matlab中k-means算法_机器学习 | KMeans聚类分析详解
大量数据中具有"相似"特征的数据点或样本划分为一个类别.聚类分析提供了样本集在非监督模式下的类别划分.聚类的基本思想是"物以类聚.人以群分",将大量数据集中相似 ...
- Windows 窗口发送消息参数详解
窗口发送消息参数详解 // 窗口.发送消息 函数功能: 将指定的消息发送到一个窗口,同win32 api 里面的SendMessage等同的效果中文函数原型: 发送消息(hwnd,msg,wparam ...
- 机器学习算法(二十五):KD树详解及KD树最近邻算法
目录 1 KD树 1.1 什么是KD树 1.2 KD树的构建 1.3 KD树的插入 1.4 KD树的删除 1.5 KD树的最近邻搜索算法 1.5.1 举例:查询点(2.1,3.1) 1.5.2 举例: ...
最新文章
- jQuery源码分析系列:属性操作
- SQL Server开发人员应聘常见问题妙解
- java设计模式之简单工厂模式
- 创建存储过程时出现的This function has none of DETERMINISTIC, NO SQL解决办法
- Python精确指南——第四章-部署和技巧
- centos7 卸载软件
- 解决文件上传_使用FastDfs上传头像上传不成功的问题---SpringCloud Alibaba_若依微服务框架改造---工作笔记002
- TFT LCD显示原理详解
- Helm 3 完整教程(三):chart 的文件结构和字段详解
- 任务调度、磁盘、进程管理、PRM和YUM
- 考研复习(8)-图的基本操作
- 循环语句—C#基础回顾
- visio业务流程图教学_Visio流程图入门
- Java开发框架!高级java工程师简历模板
- k3c最新官改非常稳定了_2020国庆过后玉米价格最新行情走势
- 【自动升级后的错误】如何停止腾讯会议自动升级
- sql中的函数取余数
- android 在线获取音乐歌词lrc文件
- Numpy切片与索引
- 现阶段中国人工智能生态的优缺点分析
热门文章
- 如何将2000kbps的mp4视频转换成30000kbps的视频?视频比特率如何修改?
- ps安装报错需要重启计算机,对在电脑上安装软件(以ps为例)出现报错问题补充理解记录...
- 写在2017年的前一个小时内
- 传智健康—第1章 项目概述和环境搭建
- Process finished with exit code 143
- Centos7安装mysql5.6的步骤
- matlab开关参数测,SiC功率MOSFET参数测量及开关暂态过程建模
- 树莓派 python 入门_树莓派新手入门教程
- ELK kibana查询与画图
- flashlight问题调试