每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章
题目:9. Palindrome Number
难度:Easy
题意:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例一:
Input: 121
Output: true
示例二:
Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
示例三:
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
解法:
本题解法参考了B站up主_Michelle小梦想家_的这个视频。
回文数 思路:由于题目要求不使用字符串方法,所以这里我构造另外一个数字,使用取余和地板除法,最后去掉负数并比较原数字和新数字。
代码:
class Solution:
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
num = 0
a = 0
while(a != 0):
tmp = a % 10
num = num * 10 + tmp
a = a // 10
if x >= 0 and x == num:
return True
else:
return False
时间复杂度 O(n),空间复杂度 O(1)。
Why Swift may be the next big thing in Deep Learning
这周阅读了 Medium 上的文章《Why Swift may be the next big thing in Deep Learning》。
文章讲解了以下内容:
Swift 的公司支持:Chris Lattner 在苹果任职期间发明了 Swift,但是现在他在 Google Brain 工作;
S4TF 不仅仅是一个标准库:S4TF 是 Swift 的一个分支,这意味着它是一门语言;
Swift 速度很快:正如其名,Swift 非常快,它有着和 C 比肩的数值计算速度,且没有内存安全问题,并且它还很容易学。Lattner 为 Swift 专门设计的 LLVM 编译器也非常强大;
在 Swift 中你可以使用 Python、C 和 C++:你可以直接在 Swift 中 import 你想使用的任何 Python 或 C/C Swift 可以是一个底层语言:如 Lattner 所说,Swift 有很多 LLVM 的语法糖,这意味着 Swift 非常接近底层,这也从另一个侧面说明 swift 非常快。
文章通俗易懂,简洁明了。
知乎僵尸粉以及我的看法
大概是上周开始,我的知乎账号的粉丝开始增加,虽然我并没有写什么回答,知乎仅仅是我写 ARTS 打卡的地方,但聊胜于无,最初我还是很开心的。但过了几天我慢慢发现,关注我的粉丝都大多是关注数为 56、0 回答 0 赞同 0 感谢的「三零用户」,而且这种粉丝的数量还在急剧上升,最近两天日均涨粉量已经超过 70,我都怀疑自己是不是被别人买了僵尸粉。
一番搜索过后,我发现有不少人有和我一样的困扰,原因是因为参与了知乎的「知友推荐计划」,这个计划的原意是「让新知友跟随你的动态,更快地融入知乎社区」,但我个人感觉就像官方买粉一样,其实对内容创作者而言并不是什么好事情。一是因为如果这些用户是僵尸粉,那么其实并没有为创作者带来任何实质性的利好,二是如果这些用户不是僵尸粉,那么像我这样的小透明也并不会起到引导新人的作用,三是作为一个资深小透明,我其实并不想为知乎贡献什么,知乎似乎已经变味,它的内容筛选机制决定了这个社区的走向,因为知乎以赞同数作为排序的依据,答案就一定是这批点赞的用户最低认知水平以上的合集,所以任何类型的问题(回答),认知水平最低人群的最大公约数就约等于赞同数,再加上知乎的目标用户的下沉,这就导致现在的「高赞答案未必高质」,抖机灵写段子的答案越来越多,认认真真写回答做科普的人越来越少,不过这样流量也越来越大。
我能理解知乎应该是做了抉择的,也能理解它的抉择,但我不喜欢它了。
半年总结
这周回北京母校,没有 Tips 分享,正好今天是本周、本月和上半年的最后一天,我想写一写自己的上半年总结。
先调出去年年末立下的 Flag:
再立一些好了:
就这些吧。以上。