![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
哈希表
哈希表相关题目
CervoLu
这个作者很懒,什么都没留下…
展开
-
653两数之和IV
二叉搜索树中的两数之和,通过遍历得到一个vector数组,转化出1两数之和问题。#include<iostream>#include<queue>#include<vector>#include<unordered_set>using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0原创 2021-11-26 22:03:07 · 336 阅读 · 0 评论 -
242有效的字母异位词
这题和383赎金信有点像我用了两个哈希表,题解只用了一个,然后对另一操作时,使用–操作,还挺有启发性的。#include<iostream>#include<unordered_map>using namespace std;class Solution {public: bool isAnagram(string s, string t) { unordered_map<char, int>smap; unordere原创 2021-11-18 22:07:57 · 166 阅读 · 0 评论 -
383赎金信
问题相当于一个字符串的字符是否是另一个字符串字符串字符的子集。我用了两个哈希表统计字符出现的次数。#include<iostream>#include<unordered_map>using namespace std;class Solution {public: bool canConstruct(string ransomNote, string magazine) { unordered_map<char, int>rn;原创 2021-11-18 21:15:24 · 70 阅读 · 0 评论 -
387字符串中的第一个唯一字符
我用的方法是遍历两次,用一个哈希表存储每个字符出现的次数题解用了一个哈希表存储字符索引还有一个队列的方法,因为我对容器还不熟悉,有空再写#include<iostream>#include<unordered_map>using namespace std;class Solution {public: int firstUniqChar(string s) { unordered_map<char,int>map;原创 2021-11-18 12:30:26 · 50 阅读 · 0 评论 -
350两个数组的交集
我写了有点麻烦了,用了两个哈希表,实际上一个就够了,题解的两个方法是哈希表和排序+双指针,都挺有收获的#include<iostream>#include<vector>#include<unordered_map>#include<algorithm>using namespace std;//自己写的, 两个哈希表,太麻烦了class Solution {public: vector<int> intersect(vec原创 2021-11-15 19:33:28 · 361 阅读 · 0 评论 -
13罗马数字转整数
C++不支持switch case语句中使用字符串,我知道可以通过map这种构建一一映射来实现,但是对STL容器还没有很熟,这里先用的if-else语句,比较丑,但是复杂度还行吧。#include<iostream>#include<string>#include<unordered_map>using namespace std;class Solution {public: int romanToInt(string s) { in原创 2021-10-23 20:46:19 · 52 阅读 · 0 评论 -
1两数之和
1两数之和#include<iostream>#include<vector>#include<unordered_map>using namespace std;class Solution1{ //暴力枚举法public: vector<int> twoSum(vector<int>& nums, int target) { for (int i = 0; i <nums.size()原创 2021-10-10 16:38:31 · 65 阅读 · 0 评论