题目 题解 搬移官方题解 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nu
题目 题解 使用前缀积,首先分别从左到右、从右到左记录下每个元素的积,要求第i个元素除自身以外数组的乘积,只需要该该元素i-1个从左到右的乘积*(i+1)个从右到左的乘积。 class Solution { public: vector<int> productExceptSelf(vect
题目 题解 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