哈希表
文章平均质量分 74
Emperorist
患病者
展开
-
算法技巧-前缀和数组
560-和为K的子数组给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数。方法二:前缀和+哈希表优化我们可以基于方法一利用数据结构进行进一步的优化,我们知道方法一的瓶颈在于对每个 i,我们需要枚举所有的 j 来判断是否符合条件,这一步是否可以优化呢?答案是可以的。我们定义 pre[i] 为[0…i] 里所有数的和,则 pre[i] 可以由pre[i−1] 递推而来,即:那么[j…i] 这个子数组和为 k ,这个条件我们可以转化为简单移项可得符合条原创 2022-03-24 20:45:46 · 1131 阅读 · 0 评论 -
leetcode347-前k个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。方法一:哈希表+排序将数组中每个元素出现的次数存入哈希表中,对哈希表进行排序,取前k个元素即为题目要求的前k个高频元素。class Solution {public: vector<int> topKFrequent(vector<int>& nums, int k) { int count=0; vector&l原创 2022-03-22 19:51:10 · 1164 阅读 · 0 评论 -
leetcode-字母异位词
241-有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。方法一:数组 bool isAnagram(string s, string t) { if(s.size()!=t.size()) return false; int num[128];//ASCALL码共128个 for(int i=原创 2022-03-18 10:42:40 · 983 阅读 · 0 评论