「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
兄弟们!偶是大熊。。。
今天带大家看看 旋转链表这道题,看题
首先我们来看这道题 数据流中的第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]
};
兄弟们是不是很简单呢!!!