文章目录
-
- 1. 题目来源
- 2. 题目解析
1. 题目来源
链接:2744. 最大字符串配对数目
2. 题目解析
充分暴露了读题能力的薄弱…
字符不相等…字符串长度固定为 2,全是小写字符…
其实这个题目的思路和 lc 第一题,两数之和 的思路完全一致。哈希直接做即可,不需要考虑字符串长度、限制之类的东西。
- 时间复杂度:
O
(
n
)
O(n)
O(n)
- 空间复杂度:
O
(
1
)
O(1)
O(1)
class Solution { public: int maximumNumberOfStringPairs(vector<string>& words) { int res = 0; unordered_set<string> S; for (auto &s : words) { string t = s; reverse(t.begin(), t.end()); if (S.count(t)) res ++ ; S.insert(s); } return res; } }; // 初始版本,没考虑清楚 class Solution { public: int maximumNumberOfStringPairs(vector<string>& words) { int res = 0; unordered_map<string, int> um; for (int i = 0; i < words.size(); i ++ ) { string tmp = words[i]; reverse(tmp.begin(), tmp.end()); um[tmp] = i + 1; } for (int i = 0; i < words.size(); i ++ ) { if (um[words[i]] > 0 && um[words[i]] - 1 != i) res ++ ; } return res / 2; } };