zoukankan      html  css  js  c++  java
  • ARTS】打卡第八周

    每周完成一个ARTS

    • 每周至少做一个 leetcode 的算法题

    • 阅读并点评至少一篇英文技术文章

    • 学习至少一个技术技巧

    • 分享一篇有观点和思考的技术文章。

    • (也就是 Algorithm、Review、Tip、Share 简称ARTS)

      Algorithm

      290. 单词规律

      给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

      这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

      思路:

      使用两个map,分别表示字符串与字母、字母与字符串的对应关系

      class Solution {
      public:
      
          vector<string> getvec(string str)
          {
              vector<string> vec;
      
              if (str.empty())
                  return vec;
      
              char *szstr = new char[str.size() + 1];
              strcpy(szstr, str.c_str());
      
              char *p = strtok(szstr, " ");
              while(p)
              {
                  vec.push_back(p);
                  p = strtok(NULL, " ");
              }
              delete szstr;
      
              return vec;
          }
      
          bool wordPattern(string pattern, string str) {
              unordered_map<char, string> map1;
              unordered_map<string, char> map2;
      
              vector<string> vstr = getvec(str);
      
              if (pattern.size() != vstr.size())
                  return false;
      
              bool issame = true;
      
              int i = 0;
              for (auto e: pattern)
              {
                  if (map1.find(e) == map1.end())
                  {
                      map1.insert(pair<char, string>(e, vstr[i]));
                  }
                  else
                  {
                      if (map1[e] != vstr[i])
                      {
                          issame = false;
                          break;
                      }
                  }
      
                  if (map2.find(vstr[i]) == map2.end())
                  {
                      map2.insert(pair<string, char>(vstr[i], e));
                  }
                  else
                  {
                      if (map2[vstr[i]] != e)
                      {
                          issame = false;
                          break;
                      }
                  }
                  i ++;
              }
      
              return issame;
          }
      };
      

      Review

      une Your Hard Disk with hdparm

      介绍了hdparm这款软件,是linux下重要的诊断、调整硬盘驱动的工具。

      展示硬盘基本信息:

      hdparm -I /dev/sda
      

      速度测试:

      hdparm -t /dev/sda
      

      Tip

      Linux sed命令在匹配行前后插入新行

      a 在匹配行的后面追加一行
      b 在匹配行的前面追加一行

      Share

      C++内存泄漏和内存碎片的产生及避免策略

  • 相关阅读:
    如何在TVM上集成Codegen(上)
    CodeGen准备存储库
    CodeGen按钮循环
    CodeGen标记循环
    CodeGen结构循环回路
    CodeGen处理Synergy方法目录
    回顾6 单点登录
    回顾 five 幂等性
    回顾 four Object
    程序员的数学基础课 笔记6
  • 原文地址:https://www.cnblogs.com/JesseTsou/p/11516454.html
Copyright © 2011-2022 走看看