Leetcode1499满足不等式的最大值

问题分析

双端队列按照y-x的值从大到小组织,队列中存储点的编号。

如果y-x的值大于队列尾部元素的y-x值,则从尾部弹出元素。

如果当前点的x值与队列头部元素的x值之差大于k时,则从头部弹出元素。

求解代码

java 复制代码
public static int MAXN = 100001;
	public static int[][] deque = new int[MAXN][2];
	public static int h,t;

	public static int findMaxValueOfEquation(int[][] points,int k){
		h = t = 0;
		int n = points.length;
		int ans = Integer.MIN_VALUE;
		for(int i=0,x,y;i<n;i++){
			x=points[i][0];
			y=points[i][1];

			while (h<t&&deque[h][0]+k<x) {
				h++;
			}

			if(h<t){
				ans = Math.max(ans, x+y+deque[h][1]-deque[h][0]);
			}

			while (h<t&&deque[t-1][1]-deque[t-1][0]<=y-x) {
				t--;
			}

			deque[t][0]=x;
			deque[t++][1]=y;
		}
		return ans;
	}
相关推荐
-Excalibur-几秒前
IP数据包在计算机网络传输的全过程
java·网络·c++·笔记·python·网络协议·智能路由器
东离与糖宝几秒前
JDK 26 HTTP/3原生客户端实战|高并发接口性能压测全流程
java·人工智能
番茄去哪了1 分钟前
从0到1独立开发一个论坛项目(一)
java·数据库·oracle·maven
BioRunYiXue3 分钟前
从现象到机制:蛋白降解调控研究的系统策略与实验设计
java·linux·运维·服务器·网络·人工智能·eclipse
希望永不加班5 分钟前
如何在 SpringBoot 里自定义 Spring MVC 配置
java·spring boot·后端·spring·mvc
weixin199701080166 分钟前
“迷你京东”全栈架构设计与实现
java·大数据·python·数据库架构
历程里程碑9 分钟前
41 .UDP -3 群聊功能实现:线程池助力多客户端通信
linux·开发语言·网络·数据结构·c++·网络协议·udp
zly886537211 分钟前
windsurf rules与skill的使用
linux·c语言·开发语言·驱动开发
东离与糖宝14 分钟前
3月20日紧急修复|Spring AI双漏洞CVE-2026-22730/22729实战防护方案
java