【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

    介绍了如何从mysql一张大表中删除若干行数据。

    Tip

    Linux 如何测试 IO 性能(磁盘读写速度)

    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是什么?能干什么?

猜你喜欢

转载自www.cnblogs.com/JesseTsou/p/11409774.html