Contents

ARST打卡第141周[141/521]

Algorithm

lc382_链表随机节点

蓄水池算法

https://leetcode-cn.com/problems/linked-list-random-node/solution/lian-biao-sui-ji-jie-dian-by-leetcode-so-x6it/

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class Solution {
    ListNode *head;

public:
    Solution(ListNode *head) {
        this->head = head;
    }

    int getRandom() {
        int i = 1, ans = 0;
        for (auto node = head; node; node = node->next) {
            if (rand() % i == 0) { // 1/i 的概率选中(替换为答案)
                ans = node->val;
            }
            ++i;
        }
        return ans;
    }
};

Review

【TED演讲】如何在你关心的事情上做的更好?

视频把人做事情的时候分为两种状态:

  1. 学习状态:尽量刻意练习,专注于提升做某件事情的某个技能点的提升
  2. 表现状态:把自己最好的状态表现出来,精准而又熟练

视频中说想要把一件事情做好,并且不断提升自己的技能,需要在学习状态下刻意练习,专注沉浸,模仿真实场景。 并且在表现状态下全力以赴地表现好,并且在表现后思考反馈自己之前的表现,还可以找其他人给与建议。 通过这两点不断使自己的技能得到提高。

Tips

理解Linux的文件描述符FD与Inode

Share

git pull无反应