Contents

ARST打卡第343周

Algorithm

lc1590_使数组和能被P整除

思路:

暴力算法是有点像是通过前缀和和后缀和来匹配计算左右指针,得到最多能保留的数组长度,从而就能反算出最小移除的子数组长度。

但是没有利用mod取模的特性,所以还是可以通过加减取模特性优化成如下方案。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Solution {
public:
    int minSubarray(vector<int>& nums, int p) {
        // 题目意思: 找最短的连续子数组,移除之后使得剩下的和能被p整除
        // 等价于:找最短的连续子数组,其和 mod p == (总和 mod p)
        unordered_map<int, int> mp;  // 记录前缀和mod p 到下标的映射
        long long sum = 0;
        for (int x : nums) sum += x;
        int need = sum % p;  // 最后要去掉的子数组的sum%p==need
        if (need == 0) return 0;

        mp[0] = -1;  // 让前缀和0成立
        int n = nums.size();
        int res = n;
        long long cur = 0;
        for (int i = 0; i < n; ++i) {
            cur = (cur + nums[i]) % p;
            // 看能不能找到前面的前缀和使得 (cur - prev + p) % p == need
            // 即 prev = (cur - need + p) % p
            int prev = (cur - need + p) % p;
            if (mp.count(prev)) {
                res = min(res, i - mp[prev]);
            }
            mp[cur] = i;
        }
        return res == n ? -1 : res;
    }
};

Review_《大空头》

对其中的金融危机和大空头的心理变化感受很深:

预见,行动,痛苦扛单,加仓,被系统性的机构欺诈继续扛单,痛苦看着机构先跑并害死无数的人,然后痛苦止盈。

Tip_指纹浏览器撸毛教程

指纹浏览器开启撸毛暴富历程

用谷歌多开、和电商用的那些指纹浏览器,损失我几百个号后,我开始寻找新的指纹浏览器,找了很久找到一款通过慢雾审核 的 MoreLogin Browser,用起来还可以,账号损耗没那么高。

学到的点:

  1. 谷歌多开可能还是指纹相同被女巫
  2. cex子账户可以用来收款

Share_在恐惧中保持勇气,在贪婪中保持理性

最近币圈和币股的行情很差很差,基本上都有30%-60%以上的跌幅。小山寨币更是惨不忍睹,基本上都有80%-90%以上的跌幅。

市场进入极度恐慌接近一周。

有内幕消息和极致聪明的人可以追涨杀跌,但是很多普通人基本都只能眼睁睁看着自己的资产缩水或者收益回撤。

散户唯一的破局之道就是控制仓位,等待市场到达性价比区间,然后定投买入真正有长期价值的资产。

在错过很多次机会之后,觉得还是需要

  1. 在恐惧保持勇气在合适性价比中分批定投: 至少多头的投入产出比远大于空头,勇敢出击,保持对未来的信心。
  2. 在贪婪中保持理性在合适价格分批止盈: 不要被贪婪冲昏头脑而忘记了止盈,导致最终收益回撤悔恨不已。