过年了看一下博客,去年产量好低,今年争取一周至少一篇吧,水的也行,嘿嘿(注意这儿只有两个嘿嘿,它是语气词,不是动词)。我们看一下求N个数(可重复)中第K大的数怎么搞,
首先最常见的思路肯定就是先把N个数进行去重排序,我们可以用一下ES6的Set去重,然后用数组sort排序,最后取第K大的就行下面的代码用到了一些ES6的特性,建议安装babel(npm install -g babel),然后在命令行下使用babel-node运行或者可以在我弄的这个网页版的repl里运行代码,在控制台里看结果functionq(arry,k){letuniqArry=[...newSet(arry)]returnuniqArry.sort((a,b)=>a-b)[k-1]}console.log(q([1,3,4,8,12,5],4)===5)console.log(q([9,3,6,1,90],3)===6)console.log(q([1,3,4,8,12,5],4)===5)console.log(q([1,3,4,8,12,5,4,9,110,234,355],4)===5)console.log(q([31,2,33,16,37,8,3,4,33,28,17,38,36,10,11,13,4,0,39,9],10)===16)同时我在下面写了五个测试用例,运行一下返回两个true就行
...
继续阅读
(5)