哈希
anieoo
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 48. 最长不含重复字符的子字符串
原题链接:剑指 Offer 48. 最长不含重复字符的子字符串 solution: 滑动窗口模板题原创 2022-07-11 23:51:18 · 93 阅读 · 0 评论 -
676. 实现一个魔法字典
原题链接:676. 实现一个魔法字典 solution: 哈希+单词比较原创 2022-07-11 07:50:50 · 83 阅读 · 0 评论 -
138. 复制带随机指针的链表
原题链接:138. 复制带随机指针的链表 solution: 利用哈希表建立原结点到新节点的映射原创 2022-07-08 21:51:54 · 130 阅读 · 0 评论 -
133. 克隆图
原题链接:133. 克隆图 solution: dfs建立原点到克隆点的映射,在遍历一遍即可原创 2022-07-07 21:42:49 · 120 阅读 · 0 评论 -
648. 单词替换
原题链接:648. 单词替换 solution: 哈希表存储前缀,暴力算法进行比较,O(n^2) trie树原创 2022-07-07 12:48:36 · 117 阅读 · 0 评论 -
205. 同构字符串
原题链接:205. 同构字符串 solution: 保证一个字母对应一个映射原创 2022-07-04 09:58:09 · 83 阅读 · 0 评论 -
763. 划分字母区间
原题链接:763. 划分字母区间solution: 利用哈希表保存字符串中每个字母出现的最后的位置。 一次遍历字符串,ed保存s[i]出现的最后位置,如果在i遍历到ed的过程中最远位置发生变化,则更新ed,当i == ed时,保存区间。...原创 2022-06-10 15:10:37 · 65 阅读 · 0 评论 -
729. 我的日程安排表 I
原题链接:729. 我的日程安排表 Isolution:每当需要添加一个行程的时候,就用哈希表中存储的形成逐一与其比较,如果可以满足预定的条件就成功预定并存入哈希表,否则返回false.原创 2022-06-06 09:35:25 · 109 阅读 · 0 评论 -
454. 四数相加 II
原题链接:454. 四数相加 IIsolution: 先维护一个哈希表存储所有num1和nums2中元素的和,再遍历nums3和num4元素的和看哈希表中是否存在其负数。class Solution {public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>&...原创 2022-05-14 12:36:17 · 102 阅读 · 0 评论 -
560. 和为 K 的子数组
原题链接:560. 和为 K 的子数组solution:枚举:题目求解的是和为K的连续子数组,因此从每个区间终点开始向前枚举即可。时间复杂度O(n^2)class Solution {public: int subarraySum(vector<int>& nums, int k) { int n = nums.size(); int res = 0; //定义返回值 for(int i = 0;i .原创 2022-05-05 12:18:55 · 193 阅读 · 0 评论 -
128. 最长连续序列
原题链接:128. 最长连续序列solution: 哈希表: 首先将所有数字放入哈希表,遍历哈希表中的元素,因为要找连续的数字序列,因此可以通过向后枚举相邻的数字(即不断加一),判断后面一个数字是否在哈希表中即可。为了保证O(n)O(n)的复杂度,为了避免重复枚举序列,因此只对序列的起始数字向后枚举。class Solution {public: int longestConsecutive(vector<int>&am...原创 2022-04-27 16:01:50 · 109 阅读 · 0 评论 -
49. 字母异位词分组
原题链接:49. 字母异位词分组solution: 异位词排好序以后就是相同的字符串class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>> res; //定义返回值 unordered_map<string...原创 2022-04-24 22:16:12 · 169 阅读 · 0 评论 -
804. 唯一摩尔斯密码词
原题链接:04. 唯一摩尔斯密码词solution:class Solution {public: int uniqueMorseRepresentations(vector<string>& words) { char *table[26] = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.",..原创 2022-04-10 10:22:29 · 259 阅读 · 0 评论 -
350. 两个数组的交集 II
原题链接:350. 两个数组的交集 IIsolution: 哈希表class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int> res; //定义返回值 unordered_map<int,int> hash; ...原创 2022-04-06 10:32:06 · 115 阅读 · 0 评论 -
1346. 检查整数及其两倍数是否存在
原题链接:1346. 检查整数及其两倍数是否存在solution: 暴力class Solution {public: bool checkIfExist(vector<int>& arr) { int n = arr.size(); for(int i = 0;i < n;i++){ int cmp = arr[i]; for(int j = 0;j < ...原创 2022-04-05 10:16:02 · 363 阅读 · 0 评论 -
653. 两数之和 IV - 输入 BST
原题链接:653. 两数之和 IV - 输入 BSTsolution: 和两数之和一样/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int原创 2022-03-21 19:11:21 · 310 阅读 · 0 评论 -
242. 有效的字母异位词
原题链接:242. 有效的字母异位词class Solution {public: bool isAnagram(string s, string t) { int m=s.size(),n=t.size(); if(m!=n) return false; unordered_map<char,int> hash1,hash2; for(auto it : t) hash1[it]++; for(原创 2022-03-20 14:54:02 · 72 阅读 · 0 评论 -
383. 赎金信
原题链接:383. 赎金信solution:class Solution {public: bool canConstruct(string ransomNote, string magazine) { unordered_map<char,int> hash; for(auto it : magazine) hash[it]++; for(int i=0;i<ransomNote.size();i++){原创 2022-03-20 14:44:22 · 69 阅读 · 0 评论 -
387. 字符串中的第一个唯一字符
原题链接:387. 字符串中的第一个唯一字符solution: 遇到出现次数无脑哈hashclass Solution {public: int firstUniqChar(string s) { unordered_map<char,int> hash; for(auto it : s) hash[it]++; for(int i=0;i<s.size();i++) if(hash[s[i]]原创 2022-03-20 14:32:58 · 75 阅读 · 0 评论 -
350. 两个数组的交集 II
原题链接:力扣solution:class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int,int> hash; vector<int> res; for(auto it : nums1) hash[it..原创 2022-03-17 19:43:21 · 233 阅读 · 0 评论 -
217. 存在重复元素
原题链接:力扣solution: 利用哈希表存储数字和出现的次数:class Solution {public: bool containsDuplicate(vector<int>& nums) { int n=nums.size(); unordered_map<int,int> hash; for(int i=0;i<n;i++){ hash[nums[i]]++.原创 2022-03-15 11:50:36 · 96 阅读 · 0 评论