1825. Seek out MK average value
Problem -solving
maintain 3 indivual multiset:lower(Minimum kkk indivual数)、middle(Number in the middle)、upper(Most kkk indivual数)。
Insert operation
·if num≤max(lower),Then lowerInsert num ·if num≥min(upper),Then upper Insert num ·otherwise,exist middle Insert num if插入后,lower or upper There are more elements than k indivual,Then middle middle Transfer element
操作过程middlemaintain middle 的element和 sum
Delete operation
·设删除的element为 d ·d 一定存exist于 lower ormiddle or upper middle的一indivualor多indivual集合middle ·Choose one delete if删除后,lower or upper middle的element少于 k indivual,Then from middle middle Obtain element
操作过程middlemaintain middle 的element和 sum
average value操作
average value = sum/(m−2⋅k)sum / (m - 2\cdot k)sum/(m−2⋅k) (Take down)。
Code with problems:
class MKAverage:
def __init__(self, m: int, k: int):
self.m = m
self.k = k
self.list1 = []
def addElement(self, num: int) -> None:
self.list1.append(num)
def calculateMKAverage(self) -> int:
if len(self.list1) < self.m:
return -1
else:
list2 = self.list1[-1:-self.m-1:-1]
list2 = sorted(list2)
list2 = list2[self.k:len(list2) - self.k]
return sum(list2) // len(list2)贡献者
最近更新
Involution Hell© 2026 byCommunityunderCC BY-NC-SA 4.0
1664. Number of schemes to generate balance numbers One question daily
LeetCode 1664. 生成平衡数组的方案数 题解 — 使用动态规划与奇偶性分析,核心技巧是预处理前缀奇偶和与后缀奇偶和,在枚举删除每个元素时 O(1) 判断剩余数组奇偶下标和是否相等。适合准备算法面试、刷 LeetCode 中等题的求职者和 CS 学生。
1828. Statistics the number of a circle mid -point One question daily
LeetCode 1828. 统计一个圆中点的数目 题解 — 使用欧几里得距离公式计算每个点与圆心的距离,判断是否小于等于半径,时间复杂度 O(n^2)。关键技巧是直接遍历所有点与所有圆,无需优化。适合正在刷 LeetCode 每日一题、入门数学类模拟题的求职者和算法初学者。