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

题图:Big Sur Aerial

Contents

Algorithm

Algorithm 题目

题目:389. Find the Difference

难度:Easy

题意:You are given two strings s and t.

String t is generated by random shuffling string s and then add one more letter at a random position.

Return the letter that was added to t.

示例 1:

Input: s = "abcd", t = "abcde"
Output: "e"
Explanation: 'e' is the letter that was added.

示例 2:

Input: s = "", t = "y"
Output: "y"

示例 3:

Input: s = "a", t = "aa"
Output: "a"

示例 4:

Input: s = "ae", t = "aea"
Output: "a"

Constraints:

解法:

本题比较简单,属于查找不同的一类,只要构造一个字典记录 s 中每个字符出现的次数,在遍历 t 时查看对应字符是否在 s 中出现,如果出现了,出现次数是否为零,即可。

代码:

class Solution:
    def findTheDifference(self, s: str, t: str) -> str:
        s_dict = dict()

        for i in s:
            if i not in s_dict:
                s_dict[i] = 1
            else:
                s_dict[i] += 1
        
        for i in t:
            if i not in s_dict:
                return i
            elif s_dict[i] == 0:
                return i
            else:
                s_dict[i] -= 1

Review

What Will You Do With Your 1,000 Hours?

本周文章来自于 Medium 的 Forge 专栏,《What Will You Do With Your 1,000 Hours?》。

这其实是一篇鸡血文,作者计算了一个人一年内除去睡觉工作之后的自由时间,平均下来一个人每年大概有 1000~2000 个小时的时间可以自由支配,同时计算了一下,如果一个人平均每天花 2 个小时在手机上,那么一年就是 730 个小时,如果你把这些时间都花在学习和自我提升上,你可以训练自己跑完 3 个马拉松、学习一门新的语言或者写一本小说,诸如此类,说白了就是「少玩手机,勤奋努力」之类的话。

文章直到最后也没有提到怎么把时间花在刀刃上的具体方式方法——如果你认为这是一篇鸡血文的话,那么本文并不值得一看——实际上我认为有两点可取之处:

  1. 文章没有提供任何可以执行的方式方法。对待时间的态度决定了你的日常生活,一个人如果没有意识到时间的珍贵,TA 的生活就会一直浑浑噩噩,毫无生气,TA 可能也会去寻求如何提高效率、如何一夜暴富、如何一周减肥、XX 天精通 Python…诸如此类的速成方式,但,这样的速成方式真的有用吗?
  2. 文章中有一句话我很赞同:「Big goals require focus.」大目标需要专注。当我们专注于某件事时,我们通常不会玩手机,这种场景常见于 deadline 来临、运动、打游戏时。虽然专注的重要性不言而喻,但如何做到专注则需要一些练习。

读这种鸡血文其实和生活中的很多事情很像,你改变不了这件事本身的属性,但你可以自由决定你对待事情或环境的态度,来引导大脑接下来的思考和抉择。

Tips

Notion 的网页剪藏

Notion 网页剪藏会将选定的网页以及网页上可以被检测到的内容自动整理到一个 Notion database 之中,同时添加相应的标题、内容和添加日期。

Share

有关「速成」和「达克效应」的联想

最近在读李笑来的《把时间当作朋友》,书中的第二章第一节讲到了「速成」这一现象,比如节食减肥、速成培训、一夜暴富等等。书中分析了两个微观原因,我认为其实有句话可以很好地描述这两个原因:「大部分人总是高估短期的结果,低估长期的结果」:

  1. 对于短期结果,我们容易高估,因此总是希望尽快地看到结果,这里说的「尽快」,来源于人类在原始社会赖以生存的能力,非必要懒于动脑、有必要简单决策,也即书中说的「人类的天性」;
  2. 对于长期结果,我们容易低估,所以不愿意去积累,然而很多事并不能一蹴而就,越期望尽快成事,就越浮躁,越浮躁,越不愿意去积累。

之后还有一个宏观上的原因,即「对自己现状的满意程度」。

一个人一生各年龄段的满意程度

大多数人对其自身的满意程度从 15 岁左右开始持续下降,这大抵是不再“无知无畏”造成的。从那时起,一个人慢慢地意识到自己在这个世界上其实是微不足道的,进而开始在所谓的理想和扭曲的现实中拼斗、挣扎,直到 45 岁左右才渐出苦海,曲线开始上扬。这就是以一个普通人的心智,观察、感受、思索、理解、实践、回顾,直至恍然大悟或者误入歧途的时间——30 年。

在这漫长的 30 年里,由自我满意度持续下降所造成的浮躁形成了巨大的心理压力。越是浮躁,就越是对自己的现状不满;越是对自己的现状不满,就越是浮躁。

更大的问题在于,大多数人并不知道几乎所有的人都是这样。相反,现实好像总是提醒我们:有些人过得比我们好多了。

我在看这一部分的时候,脑子里几乎瞬间就蹦出「达克效应」这几个字。下面是一张描绘达克效应的图:

达克效应

达克效应,一个人的认知在成长的过程中会经历图中的四个阶段:

  1. 不知道自己不知道
  2. 知道自己不知道
  3. 知道自己知道
  4. 不知道自己知道

第一个阶段,不知道自己不知道,这个时候我们的自信程度往往是最高的,所以经常会认为「别人都是大傻逼,老子才是最屌的」,这个阶段我们往往是局限在一个小圈子里的,身边的父母朋友的信息来源也很单一,我们犹如井底之蛙、坐井观天;

第二阶段,知道自己不知道,这个阶段,我们开始见识到世界的广大,认识到人外有人天外有天,自信经常受到打击,慢慢就会开始自我怀疑,「原来我才是傻逼」、「小丑竟是我自己」,自信心下滑到低谷;

第三阶段,知道自己知道,经过上一个阶段的阵痛之后,我们开始虚心请教、踏实学习、锻炼心智、每天精进一点点,我们可能逐渐发现,自己在某一个领域做得很好,有了一些知名度,自信心也慢慢上升了,但同时也会意识到不要自大,不要回到第一阶段;

最后一个阶段,不知道自己知道,这种阶段往往大师才能够达到,就像张无忌的那句「全忘了」一样。

其实从上大学以来就对自己评价一般,近几年对自己的负面评价越来越多。我似乎渐渐意识到自己处在自信崩溃的阶段,越与身边的人相比,自信就越容易崩溃,而自信越崩溃,越急躁,就会越急于求成,生活、工作、情绪越容易陷入一定程度的恶性循环。近两年才真正意识到,脚踏实地才是最好的方法,我需要沉静下来,提升自己,有目的地看书、学习、写作、向更厉害的人讨教、分析自己为什么会出现这些情绪、思考自己和别人为什么这么思考……慢慢地,就会走上自己的开悟之路。

另:

书中说「现实好像总是提醒我们:有些人过得比我们好多了。」有这种想法其实也不奇怪,究其原因,有「以偏概全」(内部原因)+「幸存者偏差」(外部原因)两个:

最后附上一张极客邦总裁池建强分享的一张图:

平均收入与中位数收入

愿你们也能找到自己的开悟之路。

WeChat QRCode