力扣算法
文章平均质量分 88
for-sq-in-happy
这个作者很懒,什么都没留下…
展开
-
单调队列||小顶堆
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。因为要统计最大前k个元素,只有小顶堆每次将最小的元素弹出,最后小顶堆里积累的才是前k个最大元素。输入: nums = [1,1,1,2,2,3], k = 2。输入: nums = [1], k = 1。返回 滑动窗口中的最大值。原创 2023-04-17 11:54:24 · 58 阅读 · 0 评论 -
刷代码随想录(哈希表下)
示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输出:2解释:示例 2:输入:nums = [2,2,2,2,2], target = 8输出:[[2,2,2,2]]给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true;否则返回 false。原创 2023-04-11 14:49:30 · 66 阅读 · 0 评论 -
刷代码随想录(哈希表上)
这样就将字符串s中字符出现的次数,统计出来了。需要把字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。那看一下如何检查字符串t中是否出现了这些字符,同样在遍历字符串t的时候,对t中出现的字符映射哈希表索引上的数值再做-1的操作。注意题目特意说明:输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序。输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]原创 2023-04-10 22:30:17 · 107 阅读 · 0 评论 -
day4刷代码随想录
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3。输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。输入:head = [1,2,3,4,5], n = 2。原创 2023-04-08 16:45:10 · 46 阅读 · 1 评论