题目 题解 search 操作:由于最后一层必然是元素最全的单链表,因此可以直接访问 ns[0].ne[0] 即是所有元素中满足大于等于 t 的第一个元素,通过判断其值与传入值 t 的大小关系来决定结果; add 操作:由于最后一层必然是元素最全的单链表,因此我们「从下往上」进行插入,最底下一层必然
题目 题解 初步思路:使用滑动窗口,定义l r两个指针分别指向s开头的位置,循环遍历s,每次r++,并使用unordered_map记录下当前窗口每个字母的数量,如果t中所有的字母都覆盖了,那么就l++,将该字母数量-1,最终找到最短的覆盖字串。 class Solution { public:
题目 题解 1. 优先队列 使用大根堆,大根堆的堆顶元素就是最大值,此时我们只需要维护k个元素的大根堆即可,当超过k个,就弹出最左边的元素 class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int
#ifndef REDIS_SERVER.H#define REDIS_SERVER.H#include<iostream>#include<fstream>#include<vector>#include<thread>#include<mut
题目题解盛水的体积取决于两个板子的距离和两个板子的最小值;当距离不变时,我们需要较小板子的最大值;我们用双指针i,j分别指向数组的开头和结尾,此时两个板子的距离最大,那么只需要移动一个板子就可以继续寻找更大体积的时候,那么应该移动哪个板子呢?移动长板,那么此时长的板子可能变长也可能变短,同时距离也会