Algorithm做算法题,Review点评英文文章,Tip总结技术技巧,Share做技术分享。每周打卡一次,这就是ARTS打卡。
题目:
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。
示例 1:
输入: [1,4,3,2]
输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).
**解题思路:**分组按照升序排序的结果两两自然分组,可得到最大的和。
解题代码:
class Solution: def arrayPairSum(self, nums: List[int]) -> int: nums.sort() sum_min = sum(nums[::2]) return sum_min文章《Visualizing Asteroids in Python with Bokeh and NASA APIs》介绍了如何使用Python获取NASA开放数据,并以近地小行星数据为例进行可视化展示。NASA开放的数据让天文爱好者可以获取更多信息,加上Python的帮忙,做数据分析能展现出天文世界的奇妙。
文章《The 2020 Crypto Money Flow Cycle》介绍了加密货币的价格周期,不喜欢看价格预测、技术分析之类的文章,偶然打开看看,却发现此文分析的有些道理。加密货币的价格随着投资者的心理变化呈现出法币->BTC->ETC->ALT->BTC or 法币的周期,从历史数据分析看也符合作者的假设模型。
学习ES基础教程,了解到卡拉搜索:一个定制化的站内搜索引擎。项目处于内测阶段,目的在于降低站内搜索门槛,值得关注。官网的技术博客比较通俗易懂,例如优秀的 REST API 设计指南。
参考这里使用Flink SQL构建基于 Kafka, MySQL, Elasticsearch, Kibana的流式应用。复现一遍流式应用并不难,而且有视频讲解,对原理有更深的理解。