LeetCode --> 703. 数据流中的第 K 大元素

223 阅读1分钟

「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战

兄弟们!偶是大熊。。。

今天带大家看看 旋转链表这道题,看题

image.png

首先我们来看这道题 数据流中的第K大元素 什么是K大元素

字面意思就其实很模糊 我们看看实例 传入K=3 nums=[4,5,8,2]

这时候add方法传入3 那么nums=[4,5,8,2,3] 第3大元素为4

add方法传入5 那么nums=[4,5,8,2,3,5] 第3大元素为5

add方法传入10 那么nums=[4,5,8,2,3,5,10] 第3大元素为5

add方法传入9 那么nums=[4,5,8,2,3,5,10,9] 第3大元素为8

add方法传入4 那么nums=[4,5,8,2,3,5,10,9,4] 第3大元素为8

是不是和实例中一样, 那么这道题就很简单了 数组push之后 -->倒序[k-1]的元素就是我们想要的

var KthLargest = function (k, nums) {
    this.nums = nums.sort((a, b) => b - a)
    this.k = k
};

/** 
 * @param {number} val
 * @return {number}
 */
KthLargest.prototype.add = function (val) {
    this.nums.push(val)
    return this.nums.sort((a, b) => b - a)[this.k - 1]
};

兄弟们是不是很简单呢!!!