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

差分数组算法

详情

1094. 拼车
class Solution {public boolean carPooling(int[][] trips, int capacity) {TreeMap<Integer, Integer> diff = new TreeMap<>();for (int[] trip : trips) {int num = trip[0], from = trip[1], to = trip[2];diff.merge(from, num, Integer::sum);diff.merge(to, -num, Integer::sum);}int sum = 0;for (int v: diff.values()) {sum += v;if (sum > capacity) {return false;}}return true;}
}
1109. 航班预订统计
class Solution {public int[] corpFlightBookings(int[][] bookings, int n) {int[] res = new int[n + 1]; // 离开在后一个离开for (int[] booking : bookings) {int first = booking[0], last = booking[1], seat = booking[2];res[first - 1] += seat;res[last] -= seat;}for (int i = 1; i < n; i++) {res[i] += res[i - 1];}int[] ans = new int[n];System.arraycopy(res, 0, ans, 0, n);return ans;}
}
121. 买卖股票的最佳时机
class Solution {public int maxProfit(int[] prices) {int res = 0;int minPrice = prices[0];for (int price : prices) {res = Math.max(res, price - minPrice);  // 计算minPrice = Math.min(minPrice, price);   // 维护左边出现的最小价格}return res;}
}
122. 买卖股票的最佳时机 II
class Solution {public int maxProfit(int[] prices) {int n = prices.length;int[] diff = new int[n];diff[0] = prices[0];int res = 0;for (int i = 1; i < n; i++) {diff[i] = prices[i] - prices[i - 1];res += Math.max(diff[i], 0);}return res;}
}
253. 会议室II

给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...](si<ei)[[s_1,e_1],[s_2,e_2],...] (s_i < e_i)[[s1,e1],[s2,e2],...](si<ei), 为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。

示例 1:
输入: [[0, 30],[5, 10],[15, 20]]
输出: 2示例 2:
输入: [[7,10],[2,4]]
输出: 1
public class Solution {int minMeetingRooms(int[][] intervals) {int n = 10001;int[] diff = new int[n];for (int[] interval : intervals) {int start = interval[0], end = interval[1];diff[start] += 1;diff[end] -= 1;}int res = 0;for (int i = 1; i < n; i++) {diff[i] = diff[i - 1] + diff[i];res = Math.max(res, diff[i]);}return res;}
}
http://www.lryc.cn/news/592232.html

相关文章:

  • ElasticSearch Doc Values和Fielddata详解
  • Android音视频探索之旅 | Webrtc 1对1音视频通话核心流程分析
  • 力扣347:前K个高频元素
  • [AI8051U入门第五步]modbus_RTU主机
  • 《Python Web 框架深度剖析:Django、Flask 与 FastAPI 的选择之道》
  • 数据库防止数组字符串序列化
  • Python暑期学习笔记5
  • C++编程学习(第10天)
  • 近期遇到的问题汇总
  • 微信小程序商品结算功能
  • 【嵌入式硬件实例】-555定时器实现LED追逐效果
  • 后端参数校验
  • LP-MSPM0G3507学习--05管脚中断
  • 网络基础12--可靠性概述及要求
  • postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?
  • Leetcode 04 java
  • 今日行情明日机会——20250718
  • 【Spring WebFlux】什么是响应式编程
  • Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上
  • 证券行业 SCRM 落地:企业微信与系统协同的合规技术方案
  • 二进制写入与文本写入的本质区别:系统视角下的文件操作
  • 数据结构:顺序表和链表
  • 【PTA数据结构 | C语言版】我爱背单词
  • 【PTA数据结构 | C语言版】二叉堆的朴素建堆操作
  • HTML 页面禁止缩放功能
  • 深入解析文本分类技术全景:从特征提取到深度学习架构
  • 数据库的基础概操作
  • 计算机视觉与机器视觉
  • 基于物联网的智能农情监测预警系统
  • 深入解析PyQt5信号与槽的高级玩法:解锁GUI开发新姿势