每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章
难度:Easy
题意:Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include 2
, 3
, 5
.
示例一:
Input: 6
Output: true
Explanation: 6 = 2 × 3
示例二:
Input: 8
Output: true
Explanation: 8 = 2 × 2 × 2
示例三:
Input: 14
Output: false
Explanation: 14 is not ugly since it includes another prime factor 7.
解法:
这道题非常简单,只需要做几个简单的判断即可。
代码:
class Solution:
def isUgly(self, num: int) -> bool:
if num == 0: return False
while num % 2 == 0: num /= 2
while num % 3 == 0: num /= 3
while num % 5 == 0: num /= 5
return num == 1
时间复杂度 $O(n)$,空间复杂度 $O(1)$。
本周阅读的文章来自 Medium 的「BetterProgramming」专栏,《Breaking Out of the “Tutorial Trap”》。文章讲述了自学 Tutorial 时的一些注意事项,总结下来有以下四点:
我开始使用 iPad 撰写我的博客文章。Markdown 编辑器是「MWeb」,使用「Working Copy」实现 GitHub 同步,最后通过「mdnice」实现公众号文章的排版。
整体的思路比较简单,首先使用「Working Copy」拉取 GitHub 仓库,在 _posts
文件夹下面新建对应的 Markdown 格式的博客文件,再使用「Working Copy」的分享功能,选择「在“Mweb”中打开」。接着将「MWeb」中存储好的文章模板复制粘贴过来,就可以开始写文章了,编辑好的文章会自动同步到「Working Copy」之中。最后只要稍加修改即可推送到远程仓库。
下面说说我为什么选择这两款工具吧。
首先,「Working Copy」是一款 iPadOS/iOS 上的 Git 客户端,提供全功能的 Git 服务,可以实现在 Github 等 Git 服务上对 repository 的 clone、push、pull 等功能。这就为在 iPad 上撰写 host 在 GitHub Pages 上的博客提供了可能。其次,「Working Copy」还可以与「Drafts」、「MWeb」、「iA Writer」等 Markdown 编辑器无缝互动。最后,「Working Copy」完整地支持了 iPadOS 的各种特性,支持拖拽以及与「文件」应用无缝衔接,这也意味着你可以使用各种编辑器来编辑「Working Copy」中的文件。
「MWeb」则是国人开发的一款 Markdown 编辑器,也是目前最符合我基本需求的 Markdown 编辑器:$\LaTeX$ 支持、meta info 支持、实时预览、多平台同步、自定义图床。其他编辑器,「Ulysses」、「Drafts」和「熊掌记」这类 Markdown 编辑器没有对 $\LaTeX$ 和自定义图床的支持,纯代码编辑器如「Kodex」又没有实时预览的功能。虽然我对「MWeb」的颜值并不十分满意,但其全面的功能还是让我在它和其他编辑器之间做出了选择。
这周读了我非常喜欢的播客「ByteCoffee」的主播「Milkshake羊」写的小册子《明亮晃荡志》,记录了她在斯坦福交流期间的生活、工作和学习。文字清晰流畅,既有工科生的严谨逻辑,又有作为女生的温柔明亮,与她的播客风格一脉相承。我在阅读的时候还发了一条微博:
@MilkShake羊 《明亮晃荡志》真诚又真挚,同在海外求学的我有不少感同身受之处。认真记录生活还是挺重要的,只有认真地生活,才可以认真地记录。
最近也在群友的公众号「功不唐捐skr」中看到了一句蛮有道理的话,「未记录就未发生」。
这周的打卡是我和 @天涯 约定重新开始打卡的第一周,之前由于一些原因个人懒惰停更了一段时间,这次再重新捡起,感觉阻力不小。之前在池大星球看过一句:
好习惯一旦中断,就很可能会中断很久,因为人心理上会觉得,已经中断了,再中断一会也无妨。
一些事情做得时间长了就会有动量,而一旦失去这个动量,想要重新捡起来,就需要花费更多的时间。健身也是、学习也是。
PS:对《明亮晃荡志》感兴趣的朋友可以在「爱发电」的这个页面去发电支持,或者在 iBook 和 Google Play 图书中搜索《明亮晃荡志》购买阅读。