ARTS 第十周
每周完成一个ARTS(也就是 Algorithm、Review、Tip、Share 简称ARTS):
- 每周至少做一个 leetcode 的算法题
- 阅读并点评至少一篇英文技术文章
- 学习至少一个技术技巧
- 分享一篇有观点和思考的技术文章。
Algorithm
给定字符串 S
和单词字典 words
, 求 words[i]
中是 S
的子序列的单词个数。
1 | 示例: |
思路:
Sequece 跟 subSequence 采用双指针的方式进行逐位比较,其实时间复杂度只有 O(n),但 words 数组也要逐个遍历,所以时间复杂度为 O(n2)。
因为 words 中可能存在重复元素,所以用 map 来保存之前的比较记录。
1 |
|
效率记录:
执行用时 : 44 ms, 在Number of Matching Subsequences的Java提交中击败了100.00% 的用户
内存消耗 : 36.9 MB, 在Number of Matching Subsequences的Java提交中击败了100.00% 的用户
Review
本周继续第八周的 Review 未完成的内容进行解读,附在文末:K8s 入门笔记
所参考的英文文章为:Weekend read, Serverless, Docker, Kubernetes
Tip
chrome 中,command + R
组合快捷键可以刷新页面,同样的组合键长按 5 秒,可以清除浏览器缓存。
Share
今天分享的是一篇关于 TopN 的搜索排序算法的文章,不是我写的,后续会增加我的理解,先看文章: