十七

leetcode148. 排序链表

题目 题解 搬移官方题解 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nu

十七 Published on 2024-09-26

c++实现单例模式

#include <iostream> #include <string.h> using std::cout; using std::endl; // 单例模式 class Singleton { public: // 3) 定义一个返回值为类指针的静态成员函数 // 只有第一

十七 Published on 2024-09-24

leetcode238. 除自身以外数组的乘积

题目 题解 使用前缀积,首先分别从左到右、从右到左记录下每个元素的积,要求第i个元素除自身以外数组的乘积,只需要该该元素i-1个从左到右的乘积*(i+1)个从右到左的乘积。 class Solution { public: vector<int> productExceptSelf(vect

十七 Published on 2024-09-06

leetcode1206. 设计跳表

题目 题解 search 操作:由于最后一层必然是元素最全的单链表,因此可以直接访问 ns[0].ne[0] 即是所有元素中满足大于等于 t 的第一个元素,通过判断其值与传入值 t 的大小关系来决定结果; add 操作:由于最后一层必然是元素最全的单链表,因此我们「从下往上」进行插入,最底下一层必然

十七 Published on 2024-09-05

leetcode76. 最小覆盖子串

题目 题解 初步思路:使用滑动窗口,定义l r两个指针分别指向s开头的位置,循环遍历s,每次r++,并使用unordered_map记录下当前窗口每个字母的数量,如果t中所有的字母都覆盖了,那么就l++,将该字母数量-1,最终找到最短的覆盖字串。 class Solution { public:

十七 Published on 2024-08-28

leetcode 239 滑动窗口最大值

题目 题解 1. 优先队列 使用大根堆,大根堆的堆顶元素就是最大值,此时我们只需要维护k个元素的大根堆即可,当超过k个,就弹出最左边的元素 class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int

十七 Published on 2024-08-06
十七 Published on 2024-05-29
十七 Published on 2024-05-11
十七 Published on 2024-04-23

TinyRedis项目学习(服务器端)

#ifndef REDIS_SERVER.H#define REDIS_SERVER.H#include&lt;iostream&gt;#include&lt;fstream&gt;#include&lt;vector&gt;#include&lt;thread&gt;#include&lt;mut

十七 Published on 2024-04-21
Previous Next