【ARTS】打卡第六周
每周完成一个ARTS
-
每周至少做一个 leetcode 的算法题
-
阅读并点评至少一篇英文技术文章
-
学习至少一个技术技巧
-
分享一篇有观点和思考的技术文章。
-
(也就是 Algorithm、Review、Tip、Share 简称ARTS)
Algorithm
76. Minimum Window Substring
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。
string minWindow(string s, string t) {
if (s.size() < t.size())
return "";
int szdst[256] = {0};
int szsub[256] = {0};
for (int i = 0; i < t.size(); i ++)
{
szdst[t[i]] ++;
}
int minlen = s.size() + 1;
int l = 0, r = -1;
int start = -1;
int count = 0;
while (l < s.size())
{
if (count < t.size() && r + 1 < s.size())
{
szsub[s[++r]] ++;
if (szdst[s[r]] >= szsub[s[r]])
count ++;
}
else
{
if (count == t.size())
{
if (r - l + 1 < minlen)
{
minlen = r - l + 1;
start = l;
}
}
szsub[s[l]] --;
if (szdst[s[l]] > szsub[s[l]])
count --;
l ++;
}
}
if (start == -1)
return "";
return s.substr(start, minlen);
}
# Review
[MySQL Big DELETEs](http://mysql.rjweb.org/doc.php/deletebig)
介绍了如何从mysql一张大表中删除若干行数据。
#Tip
[Linux 如何测试 IO 性能(磁盘读写速度)](https://www.cnblogs.com/kangleweb/p/9355953.html)
**1.测试IO读**
hdparm -t --direct /dev/sda3
IO读用上面的命令测试即可,不过 hdparm 这个工具需要自己安装,而且需要root用户去执行。
**2.测试IO写**
sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd bs=1000K count=20000;sync)"
dd bs=1M count=20000 if=/dev/zero of=test.dd conv=fdatasync dd命令测试是IO的顺序写和读方式。
# Share
[Nginx是什么?能干什么?](https://mp.weixin.qq.com/s/MkxBJD5z5vi1_eEfnbhwfg)