Contents

ARST打卡第113周[113/521]

Algorithm

lc645_错误的集合

标记数组查找法–直观有效 题解还有位运算方法,但要多次遍历,省了一点点空间,可以去参考

 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
class Solution {
public:
    vector<int> findErrorNums(vector<int>& nums) {
        int sz = nums.size();
        bool vis[sz + 1];
        memset(vis, 0, sz + 1);
        vector<int> ans;

        for (auto x : nums) {
            if (vis[x]) {
                ans.push_back(x);
            }
            vis[x] = true;
        }

        for (int i = 1; i < sz + 1; i++) {
            if (!vis[i]) {
                ans.push_back(i);
                return ans;
            }
        }

        return ans;
    }
};

Review

SMB协议文档

Tips-python获取文件长度

1
2
3
4
file.seek(0, os.SEEK_END)
## 这样就能移动到文件尾,然后用
file.tell()
## 获得文件长度

Share-git提交代码最佳实践

当推代码不顺利

  • 先push -f,易翻车 (以后禁用)
  • reset再推,也易翻车 (在未pull下易翻车)
  • 最稳妥的是先回源分支pull,然后新建分支,cherry pick老分支的东西,最后再推,然后删掉老分支

删掉本地分支和远程分支

1
2
3
4
5
// delete branch locally
git branch -d localBranchName

// delete branch remotely
git push origin --delete remoteBranchName