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

孝感市网站建设_网站建设公司_Photoshop_seo优化

四川网站建设外包业务,wordpress链接公众号,为什么织梦做的网站容易被攻击,电子商务师证怎么考力扣labuladong一刷day18天差分数组 文章目录 力扣labuladong一刷day18天差分数组一、370. 区间加法二、1109. 航班预订统计三、1094. 拼车 一、370. 区间加法 题目链接#xff1a;https://leetcode.cn/problems/range-addition/ 思路#xff1a;这种频繁改变数组的值#…力扣labuladong一刷day18天差分数组 文章目录 力扣labuladong一刷day18天差分数组一、370. 区间加法二、1109. 航班预订统计三、1094. 拼车 一、370. 区间加法 题目链接https://leetcode.cn/problems/range-addition/ 思路这种频繁改变数组的值最后在问数组中的值都是多少的情况特别适合使用查分数组所谓查分数组就是数组中每一个位置的值都等于原数组相邻位置相减的值即diff[0]nums[0]diff[i] nums[i]-nums[i-1]。 如nums [a, b, c, d] diff [a, b-a, c-b, d-c] 这样如果对区间[i, j] 加val只需要对差分数组diff进行 diff[i]val diff[j1]-val。即可这样不管做多少次的区间加值只需要对区间首尾进行操作时间复杂度就降低了。 那如何从差分数组还原回正常数组呢只需要res[0]diff[0]res[i] res[i-1]diff[i]。res定义为正常数组上面的地推公式就相当于把每个位置减掉的前一个位置的值又加了回来。 int[] getModifiedArray(int length, int[][] updates) {int[] nums new int[length];Difference difference new Difference(nums);for (int[] update : updates) {difference.increment(update[0], update[1], update[2]);}return difference.result();} class Difference {int[] diff;// 构造查分数组public Difference(int[] nums) {diff new int[nums.length];diff[0] nums[0];for (int i 1; i diff.length; i) {diff[i] nums[i] - nums[i-1];}}void increment(int i, int j, int val) {diff[i] val;if (j1 diff.length) {diff[j1] - val;}}int[] result() {int[] nums new int[diff.length];nums[0] diff[0];for (int i 1; i diff.length; i) {nums[i] nums[i-1]diff[i];}return nums;} }二、1109. 航班预订统计 题目链接https://leetcode.cn/problems/corporate-flight-bookings/ 思路思路和上一题一样就是差分数组。 class Solution {public int[] corpFlightBookings(int[][] bookings, int n) {int[] nums new int[n];Difference difference new Difference(nums);for (int[] book : bookings) {difference.sum(book[0]-1, book[1]-1, book[2]);}return difference.result();} }class Difference {int[] diff;public Difference(int[] nums) {diff new int[nums.length];diff[0] nums[0];for (int i 1; i nums.length; i) {diff[i] nums[i] - nums[i-1];}}void sum(int i, int j, int val) {diff[i] val;if (j1 diff.length) {diff[j1] - val;}}int[] result() {int[] res new int[diff.length];res[0] diff[0];for (int i 1; i diff.length; i) {res[i] res[i-1] diff[i];}return res;} }三、1094. 拼车 题目链接https://leetcode.cn/problems/car-pooling/ 思路这个拼车也是典型的差分数组的应用场景区间[i, j]表示从i上a个人到 j 下来。其实不用考虑上下人的问题就是把全部的区间都叠加到一起叠加的部分都是在车上的只要有一个地方大于容量即false。 class Solution {public boolean carPooling(int[][] trips, int capacity) {Difference difference new Difference();for (int[] trip : trips) {difference.sum(trip[1], trip[2], trip[0]);}int[] result difference.result();for (int i : result) {if (i capacity) return false;}return true;} }class Difference {int[] diff new int[1001];void sum(int i, int j, int val) {diff[i] val;if (j 1 diff.length) {diff[j] - val;}}int[] result() {int[] res new int[diff.length];res[0] diff[0];for (int i 1; i res.length; i) {res[i] res[i-1] diff[i];}return res;} }
http://www.ihoyoo.com/news/73453.html

相关文章:

  • 怎么让百度收录你的网站影视网站
  • 多多进宝怎么做自己网站网站的目录结构
  • 做网站需要学习什么知识手机163邮箱登录
  • 承德网站建设网站建设 租赁
  • 电子商务网站建设体会与收获网站开发成本核算
  • 企业自助建站程序宁波企业建站程序
  • 湖南中耀建设集团有限公司网站天津 建设执业资格注册中心网站
  • 推广你公司网站上海遨游网站建设
  • asp古典网站源码晋宁网站建设
  • 网站的维护怎么做网络初始网站
  • 广州市城乡住房建设厅网站wordpress多板块
  • 营销型网站设计注意网站开发软件手机版
  • aspx网站服务器失去响应谁有网站备案号
  • 除了做视频网站还能做什么网站国外网站设计 网址
  • 异常网站服务器失去响应百度网站地图模板
  • 加工厂网站建设论文门窗网站源码
  • 网站空间多少钱一年泊头市建设局网站
  • 做网站遵义现在那个网站做视频最赚钱吗
  • 网站开发 营业执照新东方教育培训机构官网
  • 网站运营管理报告总结手机网站WordPress主题
  • 红谷滩园林建设集团有限公司 网站wordpress搞笑主题
  • 网站建站网站jp586 vip淘宝联盟上怎么建设网站
  • wordpress快速收录如何优化推广中的关键词
  • 网站建设与管理专业好不好就业dedecms做的网站
  • 移动端的网站怎么做的wordpress 降低版本
  • 搜索引擎和门户网站的区别网站视频下载windows
  • php mysql 网站源码某个产品营销推广方案
  • 网站备案域名所有人免费广告在线制作
  • 北仑静态网站建设完美世界培训机构
  • 零基础学习做网站本地营销型网站建设