Contents

ARST打卡第117周[117/521]

Algorithm

lc_1337_矩阵中战斗力最弱的K行

2021年08月01日12:41 应该就是把 count, lien_id绑定,然后排序,AC,下面给出自己的题解

  1. 可以优化的地方,二分选择出行中最后的一个1的位置
  2. 可以建堆或者选择排序来优化快速排序所有元素

这两个优化都可以去lc官网看题解

 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
29
30
class Solution {
public:
    static bool comp(const pair<int, int> a, const pair<int, int> b) {
        if (a.first != b.first) {
            return a.first < b.first;
        }
        return a.second < b.second;
    }

    // 2021年08月01日12:41 应该就是把 count, lien_id绑定,然后排序
    vector<int> kWeakestRows(vector<vector<int>>& mat, int k) {
        vector<pair<int, int> > tmp;
        for (int i = 0; i < mat.size(); i++) {
            int lien_count = 0;
            for (auto x : mat[i]) {
                lien_count += x;
            }
            tmp.push_back({lien_count, i});
        }

        sort(tmp.begin(), tmp.end(), comp);

        vector<int> ans;
        for (int i = 0; i < k; i++) {
            ans.push_back(tmp[i].second);
        }

        return ans;
    }
};

Review

TED演讲一个让记忆力提升3倍的技巧

1.检查:检查自己现在的记忆方法有什么不好。 (比如只是不停的重复背诵导致毫无效果) 2.体验:让自己开放地接受各种不同方法,并找到适合自己最佳的记忆方法。 (比如演讲者现场描述的情景记忆,利用身体器官辅助记忆) 3.实验:将最适合自己的方法运用到实际中。 其实在各个领域都需要记忆,因为这样你会比其他人做得更好。让自己时刻保持开放,这样就能不断调整转换记忆方式,与时俱进。

Tips

错误:reference to non-static member function must be called

指向类成员的指针

Share-gdb调试smb

  1. windows打开共享目录,并留意当前时间
    1. 如果是脚本跑,给你的脚本下断点
  2. /usr/local/samba/bin/smbstatus 找出对应时间对应客户端ip的 pid
  3. gdb attach ${pid}
  4. b 对应函数
  5. c(直接继续运行)
  6. 操作文件调试,看断点附近的内容
    1. p\x 变量 (这样可以输出16进制)