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