每周完成一个ARTS
每周至少做一个 leetcode 的算法题
阅读并点评至少一篇英文技术文章
学习至少一个技术技巧
分享一篇有观点和思考的技术文章。
(也就是 Algorithm、Review、Tip、Share 简称ARTS)
给定一种规律 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;
}
};
une Your Hard Disk with hdparm
介绍了hdparm这款软件,是linux下重要的诊断、调整硬盘驱动的工具。
展示硬盘基本信息:
hdparm -I /dev/sda
速度测试:
hdparm -t /dev/sda
a?在匹配行的后面追加一行
b?在匹配行的前面追加一行
原文:https://www.cnblogs.com/JesseTsou/p/11516454.html