ARTS 第6周

1. Algorithm

题目: 96. Unique Binary Search Trees

Given n, how many structurally unique BST's (binary search trees) that store values 1 ... n?

Example:

Input: 3
Output: 5
Explanation:
Given n = 3, there are a total of 5 unique BST's:

1 3 3 2 1
\ / / / \
3 2 1 1 3 2
/ / \
2 1 2 3

Solution:

动态规划
时间复杂度: O(n^2), 空间复杂度: O(n)

class Solution:
    def numTrees(self, n: int) -> int:
        counts = [1, 1]
        for i in range(2, n+1):
            count = 0
            for j in range(i):
                count += counts[j] * counts[i-j-1]
            counts.append(count)
        return counts[-1]

2. Review

As a Leader, Time Is Your Most Valuable Resource

作者是亚马逊的技术总监,在本文中讲述了作者学到的一些更好工作的宝贵经验。时间是最宝贵的资源,我们不可能让我们的时间变得更多,但是我们可以分配我们的时间,工作是永远都做不完的,我们需要知道对于我们来说最重要的任务,采用二八原则,把更多的时间和精力分配到实现自己的最重要的目标的任务上去,而不是去盲目地工作,盲目地完成无穷无尽的任务,在各个方向之间打转,最终无法实现自己设定的目标。不要想着去把所有的工作都做好,而是要去把重要的工作做好,当需要的时候,去把那些不重要的任务舍弃,从而让自己可以专注到对自己来说真正重要的任务和工作上。其实更加努力并不是一个非常管用的策略,我们不可能完成一切,实现所有目标,如果抱着去完成一切的心态,那么最终的结果只会是一事无成。

3. Tip

适用场景: 想要回到某个commit,但是又不想丢失那个commit之后所做的修改,只是想要增加一个新的commit,这个新的commit状态和想要回退的那个commit的状态一样
限制: 只能用于commit,不能用于file,需要working tree是干净的,没有基于HEAD做任何修改
语法:
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…​
git revert --continue
git revert --quit
git revert --abort
示例:
git revert HEAD~3
添加一个新的commit,并且这个commit的内容和HEAD~3的是一样的

4. Share

本周看完了《拖延心理学》这本书,里面提到了一些应对拖延的策略,通过这本书对拖延的成因以及影响有了更加系统的了解,也对自身的拖延有了一个更好的认知,我也写了这本书的读书笔记。
链接: 拖延心理学

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容