滑动窗口
滑动窗口
爱敲代码的Harrison
种一棵树最好的时间是十年前,其次是现在。
展开
-
子数组长度不超过M的最大累加和
题目 package com.harrison.class34; /** * @author Harrison * @create 2022-04-15-14:19 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */ import java.util.LinkedList; // 给定一个数组arr,和一个正数M // 返回在子数组长度不大于M的情况下,最大的子数组累加和 public class Code04_MaxSumLengthNoMore { // O原创 2022-04-15 14:22:26 · 808 阅读 · 0 评论 -
窗口内的最大值或最小值的更新结构——最少钱数
题目 arr是货币数组,其中的值都是正数。再给定一个正数aim。每个值都认为是一张货币,返回组成aim的最少货币数。注意:因为是求最少货币数,所以每一张货币认为是相同或者不同就不重要了。 package com.harrison.class13; import java.util.HashMap; import java.util.LinkedList; import java.util.Map.Entry; /** * @author Harrison * @create 2022-03-26-1原创 2022-03-26 11:18:15 · 272 阅读 · 0 评论 -
窗口内最大值或最小值的更新结构——加油站的良好出发地点问题
题目 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。 示例 1: 输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2] 输出: 3 解释: 从 3 号加原创 2022-03-25 21:37:49 · 163 阅读 · 0 评论 -
窗口内最大值或最小值的更新结构——达标子数组的数量
题目 给定一个整型数组arr,和一个整数num,某个arr中的子数组sub,如果想达标,必须满足:sub中最大值 - sub中最小值 <= num,返回arr中达标子数组的数量。 package com.harrison.class13; import java.util.LinkedList; /** * @author Harrison * @create 2022-03-25-13:56 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */ public class原创 2022-03-25 16:50:19 · 235 阅读 · 0 评论 -
滑动窗口内最大值或最小值的更新结构——窗口内最大值
题目 假设一个固定大小为W的窗口,依次划过arr,返回每一次滑出状况的最大值 例如,arr= [4,3,5,4,3,3,6,7], W= 3。返回:[5,5,5,4,6,7]。 双端队列含义:窗口依次缩小的情况下,哪些位置的数会依次成为窗口内的最大值 package com.harrison.class13; import java.util.LinkedList; /** * @author Harrison * @create 2022-03-25-13:07 * @motto 众里寻他千百度原创 2022-03-25 13:42:29 · 251 阅读 · 0 评论