魔法师 (@Constanline)Leetcode每日一题 —— 3721. 最长平衡子数组 II 中发帖

思路 
最长平衡子数组 II 它真的来了 😂
昨天已经听佬友说要用线段树。早晨+中午抽空学了一下线段树,然后边尝试边学习磕磕绊绊好不容易写了出来。线段树百科 线段树Java实现
前缀和+线段树+懒处理
首先是核心线段树。时间复杂度上,线段树的构造是O(nlogn)的,查找某个节点是O(logn)的,但是更新是O(n),不过配合懒处理,在更新的时候不直接更新到叶子节点,就能将更新的复杂度降低到O(logn)。
然后是前缀和。既然用了线段树,就不能用昨天的Hash来存储奇偶数的数量了,因为它是离散的,没法结合线段树,而线性的前缀和正好能用上。前缀和可以标记到当前下标时,不重复奇数、偶数的数量差值。每处理一个值后,把它之后的前缀和都更新即可。
代码
class Solution {
// 线段树节点
private static class SegmentTree...