ARTS 第 13 周

每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章


Contents:


Algorithm

9. Palindrome Number

题目: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)。


Review

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 非常快。

文章通俗易懂,简洁明了。


Share 1

知乎僵尸粉以及我的看法

大概是上周开始,我的知乎账号的粉丝开始增加,虽然我并没有写什么回答,知乎仅仅是我写 ARTS 打卡的地方,但聊胜于无,最初我还是很开心的。但过了几天我慢慢发现,关注我的粉丝都大多是关注数为 56、0 回答 0 赞同 0 感谢的「三零用户」,而且这种粉丝的数量还在急剧上升,最近两天日均涨粉量已经超过 70,我都怀疑自己是不是被别人买了僵尸粉。

一番搜索过后,我发现有不少人有和我一样的困扰,原因是因为参与了知乎的「知友推荐计划」,这个计划的原意是「让新知友跟随你的动态,更快地融入知乎社区」,但我个人感觉就像官方买粉一样,其实对内容创作者而言并不是什么好事情。一是因为如果这些用户是僵尸粉,那么其实并没有为创作者带来任何实质性的利好,二是如果这些用户不是僵尸粉,那么像我这样的小透明也并不会起到引导新人的作用,三是作为一个资深小透明,我其实并不想为知乎贡献什么,知乎似乎已经变味,它的内容筛选机制决定了这个社区的走向,因为知乎以赞同数作为排序的依据,答案就一定是这批点赞的用户最低认知水平以上的合集,所以任何类型的问题(回答),认知水平最低人群的最大公约数就约等于赞同数,再加上知乎的目标用户的下沉,这就导致现在的「高赞答案未必高质」,抖机灵写段子的答案越来越多,认认真真写回答做科普的人越来越少,不过这样流量也越来越大。

我能理解知乎应该是做了抉择的,也能理解它的抉择,但我不喜欢它了。


Share 2

半年总结

这周回北京母校,没有 Tips 分享,正好今天是本周、本月和上半年的最后一天,我想写一写自己的上半年总结。

先调出去年年末立下的 Flag:

  1. 2018 年很少吃早饭,所以 2019 年立的第一个 Flag 就是,坚持每天 9 点之前吃早饭。养成了习惯
  2. 2018 年身体不好,长期的疲劳和伏案工作学习让身体素质下降很多,所以 2019 年要重新开始健身,控制饮食和作息时间,把体重控制在 130 斤。从最胖的时候 140 斤,5 月开始健身,到现在健身快两个月了,体态纠正了很多,走路也比较有自信,体重降到了 134,不过这里重新定个目标,把体重升到 140,但是小肚子减掉,体脂控制在15% 左右
  3. 2018 年读了不少书,听了不少播客,拓展了视野,提升了认知,2019 年要把这两个习惯保持下去,目标是读完 50 本非虚构类书籍。目前读完了《人类简史》、《硬派健身》、《带一本书去巴黎》,在读的有《香农传》、《你凭什么做好互联网》、《穷查理宝典》、《成为乔布斯》、《阅读是一座随身携带的避难所》、《精进》和《我是一个怪圈》,总结是目前为止读的太少,因为个人心理原因,除了那些本身就非常吸引我的书,对于其他的非虚构类书,我一直没办法安心下去读,落下太多,好在今年做了个很大的决定,对自己有莫大的帮助,今年争取能完成原定目标的 60%
  4. 在学习了张哥的《人人都该懂点投资理财》系列和长投网的小白课程之后,其实意识到了投资理财的重要性,但是随后的变故又让自己有些消沉和低迷,所以 2019 年在理财方面的目标是,赚取自己的第一笔被动收入。由于复杂的原因,还没有开始挣属于自己的金钱,所以预计要到九月份开始,但在也大的星球和《穷查理宝典》里学了不少经验和理念,也算是为后期做些铺垫
  5. 自己的学术能力和编程技术同步提升,感觉这个不太好量化,「学完在极客时间上购买的技术相关的专栏」算不算?开始了 ARTS 打卡,对算法有了一些新的理解,慢慢开始学会从分享中找到快乐(虽然不咋有人看),也开始注意写文章时的用词句法,锻炼了写作能力,另外看了几篇论文和 Medium 文章,专业和英语也有一些进步,但是不好量化
  6. 享受独处,继续向内探索自己,向外提升认知。这次回国休假,亲戚朋友对我的评价都是「成熟了」,但也有「失去了本心和童真」的评价。也许成长就是这样,需要付出代价。生活也是这样吧,自己今后还是要多多学习「如何热爱生活」自己「如何把生活活出花样」,也许呢,生活在别处。

再立一些好了:

  1. 给老爸换手机
  2. 给老妈买台新电脑
  3. 去 10 个不同的城市玩
  4. 调整饮食结构,健身,体脂控制到 15%
  5. 输出 5 篇读书笔记,5 篇游记

就这些吧。以上。