每日一题 | 函数式编程:1行代码搞定查找最小n个元素

Posted 干货补给站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题 | 函数式编程:1行代码搞定查找最小n个元素相关的知识,希望对你有一定的参考价值。




函数式编程为我们提供了无可比拟的编程便利性,使我们以往用上百行代码解决的复杂问题,仅仅用少量代码就可以解决。今天给大家举一个例子,使用函数式编程来查找最小的n个元素。

我们的minN函数中仅用1行代码就可以搞定这个事情,代码如下:

这个例子很好理解,首先用_.chain函数开始一个链式处理,然后sort()从小到大排序,first(n)取前n项元素。最后.value()结束链式计算,返回的结果就是最小n个元素了。


与传统的命令式编程比起来,这样简洁的代码可以大大节省编程和调试的时间。在Js中常用的函数式编程库有Underscore.js和 lodash.js,两者在很多地方都是相似的。对于Java编程,常用java.util.function,对于C++编程,常用#include <functional>进行函数式编程。无论是小型的算法,还是大型的数据建模,在程序中合适地使用函数式编程,都会对我们的程序质量有很大的提高。






以上是关于每日一题 | 函数式编程:1行代码搞定查找最小n个元素的主要内容,如果未能解决你的问题,请参考以下文章

写代码---每日一题(二分查找)

《LeetCode之每日一题》:266.查找和最小的 K 对数字

力扣每日一题 704. 二分查找

《LeetCode之每日一题》:140.二分查找

《LeetCode之每日一题》:183.最小操作次数使数组元素相等

笔试强训之每日一题