【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)
posted @ 2019-08-25 22:45  JESSET  阅读(142)  评论(0编辑  收藏  举报