Contents

ARST打卡第226周[226/521]

Algorithm

lc2511_最多可以摧毁的敌人城堡数目

思路: 题意其实就是算出1到-1之间的最多的0的个数。思考得到以下两个条件:

  1. 中间必须都是0
  2. 两边必须是1和-1

所以可以直接遍历维护.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public:
    int captureForts(vector<int>& forts) {
        int ans = 0;
        int sz = forts.size();
        int l = -1;
        for (int i = 0; i < sz; i++) {
            if (forts[i] != 0) {
                if (l == -1) {
                    l = i;
                    continue;
                }
                if (forts[l] + forts[i] == 0) {
                    ans = max(ans, i - l - 1);
                }
                // 每次不为0都要更新左值 -- wa一发
                l = i;
            }
        }
        return ans;
    }
};

题解思路和我的思路一样,简单题,正常。

Review

【TED演讲】感恩如何重塑你的大脑

时常感恩,能让我们的内心变得更加坚韧,更加充满爱,才能抵达岁月漫长。

Tips

nvim透明

Share

推荐使用LearnVim插件学习vim LearnVim

自己曾经多次学习vim,nvim,但都因为

  1. 无法融入自己的常规使用栈。 – 很多教程的vim,nvim要全部使用终端,得放弃VScode的插件系统和界面,很难受。
  2. 教程太高深了。 – 很多地方看不太明白。

导致半途而废。

然后在我上次卸载 VScode 的 Vim 插件时,看到了 LearnVim 的 VScode 的插件。

当时 Vim 的作者去世,加上有推特大佬转发了耗子叔的 vim 教程, 然后就抱着再试试的心态用 LearnVim 再次入门 Vim。

结果 LearnVim 讲解非常详细,并且每一章都设计了逐步练习,非常好,让我终于能够让 Vim 融入自己的常规使用栈来不断练习,推荐。